Allow to charge a cancellation fee on unpaid orders (#2845)

This commit is contained in:
Raphael Michel
2022-11-10 09:11:43 +01:00
committed by GitHub
parent bb718375e9
commit 4630c1fe8b
17 changed files with 224 additions and 65 deletions

View File

@@ -1403,6 +1403,8 @@ class OrderTestCase(BaseQuotaTestCase):
self.order.total = 48
self.order.save()
self.order = Order.objects.get(pk=self.order.pk)
self.order.status = Order.STATUS_PAID
self.order.save()
assert self.order.user_cancel_fee == Decimal('0.00')
self.event.settings.cancel_allow_user_paid_keep = Decimal('2.50')
@@ -1421,6 +1423,27 @@ class OrderTestCase(BaseQuotaTestCase):
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('48.00')
self.order.status = Order.STATUS_PENDING
self.order.save()
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('0.00')
self.event.settings.cancel_allow_user_unpaid_keep = Decimal('2.50')
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('2.50')
self.event.settings.cancel_allow_user_unpaid_keep_percentage = Decimal('5.0')
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('4.90')
self.event.settings.cancel_allow_user_unpaid_keep_fees = True
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('6.80')
self.event.settings.cancel_allow_user_unpaid_keep = Decimal('100.00')
self.order = Order.objects.get(pk=self.order.pk)
assert self.order.user_cancel_fee == Decimal('48.00')
@classscope(attr='o')
def test_paid_order_underpaid(self):
self.order.status = Order.STATUS_PAID