mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Refs #340 -- Allow order changes for paid orders if they don't change the total
This commit is contained in:
@@ -140,6 +140,8 @@ class OrderChangeManagerTests(TestCase):
|
||||
)
|
||||
self.ticket = Item.objects.create(event=self.event, name='Early-bird ticket', tax_rate=Decimal('7.00'),
|
||||
default_price=Decimal('23.00'), admission=True)
|
||||
self.ticket2 = Item.objects.create(event=self.event, name='Other ticket', tax_rate=Decimal('7.00'),
|
||||
default_price=Decimal('23.00'), admission=True)
|
||||
self.shirt = Item.objects.create(event=self.event, name='T-Shirt', tax_rate=Decimal('19.00'),
|
||||
default_price=Decimal('12.00'))
|
||||
self.op1 = OrderPosition.objects.create(
|
||||
@@ -303,3 +305,22 @@ class OrderChangeManagerTests(TestCase):
|
||||
assert self.order.total == 0
|
||||
assert self.order.status == Order.STATUS_PAID
|
||||
assert self.order.payment_provider == 'free'
|
||||
|
||||
def test_change_paid_same_price(self):
|
||||
self.order.status = Order.STATUS_PAID
|
||||
self.order.save()
|
||||
self.ocm.change_item(self.op1, self.ticket2, None)
|
||||
self.ocm.commit()
|
||||
self.order.refresh_from_db()
|
||||
assert self.order.total == 46
|
||||
assert self.order.status == Order.STATUS_PAID
|
||||
|
||||
def test_change_paid_different_price(self):
|
||||
self.order.status = Order.STATUS_PAID
|
||||
self.order.save()
|
||||
self.ocm.change_price(self.op1, Decimal('5.00'))
|
||||
with self.assertRaises(OrderError):
|
||||
self.ocm.commit()
|
||||
self.order.refresh_from_db()
|
||||
assert self.order.total == 46
|
||||
assert self.order.status == Order.STATUS_PAID
|
||||
|
||||
Reference in New Issue
Block a user