diff --git a/src/tests/control/test_vouchers.py b/src/tests/control/test_vouchers.py index 49e84fb44..548e0386b 100644 --- a/src/tests/control/test_vouchers.py +++ b/src/tests/control/test_vouchers.py @@ -82,7 +82,7 @@ class VoucherFormTest(SoupTest): doc = self.client.get('/control/event/%s/%s/vouchers/?download=yes' % (self.orga.slug, self.event.slug)) assert doc.content.strip() == '"Voucher code","Valid until","Product","Reserve quota","Bypass quota",' \ '"Price effect","Value","Tag","Redeemed","Maximum usages"\r\n"ABCDEFG","",' \ - '"Early-bird ticket","No","No","Set product price to","","","0","1"'.encode('utf-8') + '"Early-bird ticket","No","No","No effect","","","0","1"'.encode('utf-8') def test_filter_status_valid(self): v = self.event.vouchers.create(item=self.ticket) diff --git a/src/tests/presale/test_cart.py b/src/tests/presale/test_cart.py index 112c41b8a..528431253 100644 --- a/src/tests/presale/test_cart.py +++ b/src/tests/presale/test_cart.py @@ -594,7 +594,7 @@ class CartTest(CartTestMixin, TestCase): self.assertEqual(len(objs), 0) def test_voucher_price(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event) + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set') self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { 'item_%d' % self.ticket.id: '1', '_voucher_code': v.code, @@ -719,7 +719,7 @@ class CartTest(CartTestMixin, TestCase): self.quota_tickets.size = 0 self.quota_tickets.save() v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, - allow_ignore_quota=True) + allow_ignore_quota=True, price_mode='set') self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { 'item_%d' % self.ticket.id: '1', '_voucher_code': v.code, @@ -734,7 +734,7 @@ class CartTest(CartTestMixin, TestCase): self.quota_tickets.size = 1 self.quota_tickets.save() v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, - block_quota=True) + block_quota=True, price_mode='set') response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { 'item_%d' % self.ticket.id: '1', }, follow=True) @@ -752,7 +752,7 @@ class CartTest(CartTestMixin, TestCase): self.assertEqual(objs[0].price, Decimal('12.00')) def test_voucher_doubled(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event) + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set') response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { 'item_%d' % self.ticket.id: '1', '_voucher_code': v.code, diff --git a/src/tests/presale/test_checkout.py b/src/tests/presale/test_checkout.py index 8cd0b9e5a..d2ea7785b 100644 --- a/src/tests/presale/test_checkout.py +++ b/src/tests/presale/test_checkout.py @@ -294,7 +294,7 @@ class CheckoutTestCase(TestCase): self.assertEqual(cr1.price, 24) def test_voucher(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2)) cr1 = CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, @@ -312,7 +312,7 @@ class CheckoutTestCase(TestCase): self.assertEqual(Voucher.objects.get(pk=v.pk).redeemed, 1) def test_voucher_required(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2)) self.ticket.require_voucher = True self.ticket.save() @@ -341,7 +341,7 @@ class CheckoutTestCase(TestCase): assert doc.select(".alert-danger") def test_voucher_price_changed(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2)) cr1 = CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, @@ -380,7 +380,7 @@ class CheckoutTestCase(TestCase): self.assertIn("has already been", doc.select(".alert-danger")[0].text) def test_voucher_multiuse_partially(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2), max_usages=3, redeemed=2) CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, @@ -397,7 +397,7 @@ class CheckoutTestCase(TestCase): assert CartPosition.objects.filter(cart_id=self.session_key).count() == 1 def test_voucher_multiuse_ok(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2), max_usages=3, redeemed=1) CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, @@ -419,6 +419,7 @@ class CheckoutTestCase(TestCase): def test_voucher_multiuse_in_other_cart_expired(self): v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + price_mode='set', valid_until=now() + timedelta(days=2), max_usages=3, redeemed=1) CartPosition.objects.create( event=self.event, cart_id='other', item=self.ticket, @@ -443,7 +444,7 @@ class CheckoutTestCase(TestCase): assert v.redeemed == 3 def test_voucher_multiuse_in_other_cart(self): - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2), max_usages=3, redeemed=1) CartPosition.objects.create( event=self.event, cart_id='other', item=self.ticket, @@ -466,7 +467,7 @@ class CheckoutTestCase(TestCase): def test_voucher_ignore_quota(self): self.quota_tickets.size = 0 self.quota_tickets.save() - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2), allow_ignore_quota=True) cr1 = CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, @@ -484,7 +485,7 @@ class CheckoutTestCase(TestCase): def test_voucher_block_quota(self): self.quota_tickets.size = 1 self.quota_tickets.save() - v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, + v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event, price_mode='set', valid_until=now() + timedelta(days=2), block_quota=True) cr1 = CartPosition.objects.create( event=self.event, cart_id=self.session_key, item=self.ticket, diff --git a/src/tests/presale/test_event.py b/src/tests/presale/test_event.py index 8f5241507..b51334481 100644 --- a/src/tests/presale/test_event.py +++ b/src/tests/presale/test_event.py @@ -287,6 +287,7 @@ class VoucherRedeemItemDisplayTest(EventTestMixin, SoupTest): def test_voucher_price(self): self.v.value = Decimal("10.00") + self.v.price_mode = 'set' self.v.save() html = self.client.get('/%s/%s/redeem?voucher=%s' % (self.orga.slug, self.event.slug, self.v.code)) assert "Early-bird" in html.rendered_content @@ -306,6 +307,7 @@ class VoucherRedeemItemDisplayTest(EventTestMixin, SoupTest): self.q.variations.add(var1) self.q.variations.add(var2) self.v.value = Decimal("10.00") + self.v.price_mode = 'set' self.v.save() html = self.client.get('/%s/%s/redeem?voucher=%s' % (self.orga.slug, self.event.slug, self.v.code)) assert "Early-bird" in html.rendered_content