Deal with cancelling memberships (#2130)

This commit is contained in:
Raphael Michel
2021-06-17 18:10:45 +02:00
committed by GitHub
parent 8ad53256c2
commit 1ef076bb9b
13 changed files with 153 additions and 2 deletions

View File

@@ -1166,6 +1166,23 @@ class OrderChangeManagerTests(TestCase):
self.ocm.commit()
assert gc.value == Decimal('0.00')
@classscope(attr='o')
def test_cancel_issued_membership(self):
mt = self.event.organizer.membership_types.create(name="foo")
customer = self.event.organizer.customers.create()
self.order.customer = customer
self.o.save()
m = customer.memberships.create(
membership_type=mt,
date_start=now(),
date_end=now(),
granted_in=self.order.positions.first(),
)
self.ocm.cancel(self.op1)
self.ocm.commit()
m.refresh_from_db()
assert m.canceled
@classscope(attr='o')
def test_cancel_issued_giftcard_used(self):
gc = self.o.issued_gift_cards.create(currency="EUR", issued_in=self.op1)
@@ -2419,6 +2436,21 @@ class OrderChangeManagerTests(TestCase):
op.refresh_from_db()
assert op.secret != s
@classscope(attr='o')
def test_cancel_order_membership(self):
mt = self.event.organizer.membership_types.create(name="foo")
customer = self.event.organizer.customers.create()
self.order.customer = customer
m = customer.memberships.create(
membership_type=mt,
date_start=now(),
date_end=now(),
granted_in=self.order.positions.first(),
)
cancel_order(self.order)
m.refresh_from_db()
assert m.canceled
@classscope(attr='o')
def test_auto_change_payment_fee(self):
fee2 = self.order.fees.create(fee_type=OrderFee.FEE_TYPE_SHIPPING, value=Decimal('0.50'))
@@ -3019,3 +3051,20 @@ class OrderReactivateTest(TestCase):
gc = self.o.issued_gift_cards.create(currency="EUR", issued_in=self.op1)
reactivate_order(self.order)
assert gc.value == 23
@classscope(attr='o')
def test_reactivate_membership(self):
mt = self.event.organizer.membership_types.create(name="foo")
customer = self.event.organizer.customers.create()
self.order.customer = customer
self.order.save()
m = customer.memberships.create(
membership_type=mt,
date_start=now(),
date_end=now(),
granted_in=self.order.positions.first(),
canceled=True,
)
reactivate_order(self.order)
m.refresh_from_db()
assert not m.canceled