add max_extend to remaining tests

This commit is contained in:
Mira Weller
2025-05-15 14:11:50 +02:00
parent 245c4fc996
commit c54be016de

View File

@@ -992,7 +992,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
self.event.settings.max_items_per_order = 5
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -1009,7 +1009,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
self.event.settings.max_items_per_order = settings.PRETIX_MAX_ORDER_SIZE + 100
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -1026,7 +1026,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
self.event.settings.max_items_per_order = 5
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -1087,7 +1087,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
'item_%d' % self.ticket.id: '2',
@@ -1105,7 +1105,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
'item_%d' % self.ticket.id: '2',
@@ -1332,7 +1332,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cr1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() - timedelta(minutes=10)
price=23, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
q1 = Question.objects.create(
event=self.event, question='Age', type=Question.TYPE_NUMBER,
@@ -1419,7 +1419,7 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
'id': cp.pk
@@ -2192,7 +2192,8 @@ class CartTest(CartTestMixin, TestCase):
v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event,
max_usages=2, redeemed=1)
CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, voucher=v, price=Decimal('12.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, voucher=v, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key
)
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -2210,7 +2211,8 @@ class CartTest(CartTestMixin, TestCase):
v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event,
max_usages=2, redeemed=1)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, voucher=v, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, voucher=v, price=Decimal('12.00'),
event=self.event, cart_id='other'
)
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -2228,7 +2230,8 @@ class CartTest(CartTestMixin, TestCase):
v = Voucher.objects.create(item=self.ticket, value=Decimal('12.00'), event=self.event,
max_usages=2, redeemed=1)
CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, voucher=v, price=Decimal('12.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, voucher=v, price=Decimal('12.00'),
event=self.event, cart_id='other'
)
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
@@ -2243,11 +2246,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=15, listed_price=15, price_after_voucher=15, expires=now() + timedelta(minutes=10)
price=15, listed_price=15, price_after_voucher=15,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, item=self.ticket, price_mode='set', value=Decimal('4.00')
@@ -2267,11 +2272,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=150, listed_price=150, price_after_voucher=150, expires=now() + timedelta(minutes=10)
price=150, listed_price=150, price_after_voucher=150,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('4.00'), max_usages=100, redeemed=99
@@ -2292,11 +2299,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=150, listed_price=150, price_after_voucher=150, expires=now() + timedelta(minutes=10)
price=150, listed_price=150, price_after_voucher=150,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, price_mode='set', quota=self.quota_all, value=Decimal('4.00'), max_usages=100
@@ -2317,11 +2326,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=150, listed_price=150, price_after_voucher=150, expires=now() + timedelta(minutes=10)
price=150, listed_price=150, price_after_voucher=150,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, price_mode='set', quota=self.quota_all, value=Decimal('4.00'), max_usages=100,
@@ -2356,14 +2367,17 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v2 = Voucher.objects.create(
event=self.event, price_mode='set', quota=self.quota_all, value=Decimal('8.00'), max_usages=100
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=8, expires=now() + timedelta(minutes=10), voucher=v2
price=8,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
voucher=v2
)
v = Voucher.objects.create(
event=self.event, price_mode='set', quota=self.quota_all, value=Decimal('4.00'), max_usages=100
@@ -2409,11 +2423,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=15, listed_price=15, price_after_voucher=15, expires=now() + timedelta(minutes=10)
price=15, listed_price=15, price_after_voucher=15,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('40.00'), max_usages=100,
@@ -2433,11 +2449,13 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
cp1 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
cp2 = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=15, listed_price=15, price_after_voucher=15, expires=now() + timedelta(minutes=10)
price=15, listed_price=15, price_after_voucher=15,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('40.00'), max_usages=100, redeemed=100
@@ -2456,11 +2474,12 @@ class CartTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=23, listed_price=23, price_after_voucher=23, expires=now() + timedelta(minutes=10)
price=23, listed_price=23, price_after_voucher=23,
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.shirt, variation=self.shirt_blue,
price=8, expires=now() + timedelta(minutes=10),
price=8, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
)
gc = self.orga.issued_gift_cards.create(secret="GIFTCARD", currency=self.event.currency)
gc.transactions.create(value=Decimal("12.24"), acceptor=self.orga)
@@ -2573,7 +2592,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.addon1.price_included = True
self.addon1.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
@@ -2594,11 +2614,13 @@ class CartAddonTest(CartTestMixin, TestCase):
self.addon1.price_included = True
self.addon1.save()
cp1 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.workshop1, price=Decimal('0.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('0.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.extend_expired_positions()
@@ -2615,11 +2637,13 @@ class CartAddonTest(CartTestMixin, TestCase):
self.quota_tickets.size = 0
self.quota_tickets.save()
cp1 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.workshop1, price=Decimal('0.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('0.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.extend_expired_positions()
@@ -2632,7 +2656,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.addon1.price_included = True
self.addon1.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
@@ -2657,7 +2682,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_cart_set_simple_addon(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
@@ -2681,7 +2707,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.workshopquota.subevent = se
self.workshopquota.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key, subevent=se
)
@@ -2707,7 +2734,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.workshopquota.subevent = se2
self.workshopquota.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key, subevent=se
)
@@ -2723,7 +2751,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_wrong_category(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.workshop1.category = self.category
@@ -2740,7 +2769,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_invalid_parent(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id='other'
)
with self.assertRaises(CartError):
@@ -2756,7 +2786,8 @@ class CartAddonTest(CartTestMixin, TestCase):
def test_no_quota_for_addon(self):
self.workshopquota.delete()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
with self.assertRaises(CartError):
@@ -2771,7 +2802,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_unknown_addon_item(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
with self.assertRaises(CartError):
@@ -2786,11 +2818,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_duplicate_items_for_other_cp(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.cm.set_addons([
@@ -2812,7 +2846,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_multi_allowed(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 2
@@ -2836,7 +2871,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_number_exceeds_max(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 2
@@ -2859,7 +2895,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.workshopquota.size = 1
self.workshopquota.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 2
@@ -2882,7 +2919,8 @@ class CartAddonTest(CartTestMixin, TestCase):
self.workshop3.free_price = True
self.workshop3.save()
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 5
@@ -2920,7 +2958,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_change_number(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 5
@@ -2964,7 +3003,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_no_duplicate_items_for_same_cp(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.max_count = 2
@@ -2999,7 +3039,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_addon_max_count(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
with self.assertRaises(CartError):
@@ -3034,7 +3075,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_addon_min_count(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.addon1.min_count = 2
@@ -3065,11 +3107,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_remove_with_addons(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.remove_item(cp1.pk)
@@ -3080,11 +3124,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_remove_addons(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.set_addons([])
@@ -3094,11 +3140,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_remove_addons_below_min(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.addon1.min_count = 1
@@ -3111,11 +3159,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_change_product(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.set_addons([
@@ -3133,11 +3183,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_unchanged(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.set_addons([
@@ -3153,7 +3205,8 @@ class CartAddonTest(CartTestMixin, TestCase):
def test_exceed_max(self):
self.event.settings.max_items_per_order = 1
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.cm.set_addons([
@@ -3168,7 +3221,8 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_sold_out(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
self.workshopquota.size = 0
@@ -3186,11 +3240,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_sold_out_unchanged(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.workshopquota.size = 0
@@ -3207,19 +3263,23 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_sold_out_swap_addons(self):
cp1 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
cp2 = CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
CartPosition.objects.create(
expires=now() + timedelta(minutes=10), item=self.workshop2, price=Decimal('12.00'),
expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop2, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp2
)
self.workshopquota.size = 0
@@ -3245,11 +3305,13 @@ class CartAddonTest(CartTestMixin, TestCase):
@classscope(attr='orga')
def test_expand_expired(self):
cp1 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, price=Decimal('23.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('23.00'),
event=self.event, cart_id=self.session_key
)
cp2 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.workshop1, price=Decimal('12.00'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.workshop1, price=Decimal('12.00'),
event=self.event, cart_id=self.session_key, addon_to=cp1
)
self.cm.extend_expired_positions()
@@ -3265,7 +3327,8 @@ class CartAddonTest(CartTestMixin, TestCase):
v = Voucher.objects.create(item=self.ticket, value=Decimal('20.00'), event=self.event, price_mode='set',
valid_until=now() + timedelta(days=2), max_usages=999, redeemed=0)
cp1 = CartPosition.objects.create(
expires=now() - timedelta(minutes=10), item=self.ticket, price=Decimal('21.50'),
expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
item=self.ticket, price=Decimal('21.50'),
event=self.event, cart_id=self.session_key, voucher=v
)
self.cm.extend_expired_positions()
@@ -3729,11 +3792,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_extend_keep_price(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.cm.commit()
cp.refresh_from_db()
@@ -3745,11 +3809,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_extend_designated_price_changed(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.bundle1.designated_price = Decimal('2.00')
self.bundle1.save()
@@ -3763,11 +3828,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_extend_designated_price_changed_beyond_base_price(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.bundle1.designated_price = Decimal('40.00')
self.bundle1.save()
@@ -3781,11 +3847,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_voucher_apply_multiple(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('4.00'), max_usages=100
@@ -3802,11 +3869,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_voucher_apply_multiple_reduce_beyond_designated_price(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('0.00'), max_usages=100
@@ -3827,11 +3895,12 @@ class CartBundleTest(CartTestMixin, TestCase):
self.trans.save()
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('0.00'), max_usages=100
@@ -3848,15 +3917,17 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_voucher_apply_affect_bundled(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=2.5, expires=now() + timedelta(minutes=10), is_bundled=False
price=2.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=False
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('0.00'), max_usages=100,
@@ -3876,15 +3947,17 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_voucher_apply_affect_addons(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=False
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=False
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() + timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
v = Voucher.objects.create(
event=self.event, price_mode='set', value=Decimal('0.00'), max_usages=100,
@@ -3904,11 +3977,12 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_extend_base_price_changed(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.ticket.default_price = Decimal('25.00')
self.ticket.save()
@@ -3922,15 +3996,17 @@ class CartBundleTest(CartTestMixin, TestCase):
def test_extend_bundled_and_addon(self):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=False
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=False
)
b = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.cm.commit()
cp.refresh_from_db()
@@ -3955,11 +4031,12 @@ class CartBundleTest(CartTestMixin, TestCase):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.cm.invoice_address = ia
self.cm.recompute_final_prices_and_taxes()
@@ -3995,11 +4072,12 @@ class CartBundleTest(CartTestMixin, TestCase):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.5, expires=now() - timedelta(minutes=10), is_bundled=True
price=1.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True
)
self.cm.invoice_address = ia
self.cm.recompute_final_prices_and_taxes()
@@ -4130,11 +4208,12 @@ class CartBundleTest(CartTestMixin, TestCase):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.5, expires=now() - timedelta(minutes=10),
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.47, expires=now() - timedelta(minutes=10), is_bundled=True, tax_rate=Decimal('5.00')
price=1.47, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True, tax_rate=Decimal('5.00')
)
self.cm.invoice_address = ia
self.cm.recompute_final_prices_and_taxes()
@@ -4179,11 +4258,12 @@ class CartBundleTest(CartTestMixin, TestCase):
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket,
price=21.68, expires=now() - timedelta(minutes=10), tax_rate=Decimal('20.00')
price=21.68, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time, tax_rate=Decimal('20.00')
)
a = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.trans, addon_to=cp,
price=1.47, expires=now() - timedelta(minutes=10), is_bundled=True, tax_rate=Decimal('5.00')
price=1.47, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time,
is_bundled=True, tax_rate=Decimal('5.00')
)
self.cm.invoice_address = ia
self.cm.recompute_final_prices_and_taxes()
@@ -4424,7 +4504,7 @@ class CartSeatingTest(CartTestMixin, TestCase):
def test_add_with_seat_to_cart_twice(self):
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket, seat=self.seat_a1,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
with scopes_disabled():
objs = list(CartPosition.objects.filter(cart_id=self.session_key, event=self.event))
@@ -4440,7 +4520,7 @@ class CartSeatingTest(CartTestMixin, TestCase):
def test_add_used_seat_to_cart(self):
CartPosition.objects.create(
event=self.event, cart_id='aaa', item=self.ticket, seat=self.seat_a1,
price=23, expires=now() + timedelta(minutes=10)
price=23, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
'seat_%d' % self.ticket.id: self.seat_a1.seat_guid,
@@ -4454,7 +4534,7 @@ class CartSeatingTest(CartTestMixin, TestCase):
with scopes_disabled():
cp = CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket, seat=self.seat_a1,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
self.cm.commit()
cp.refresh_from_db()
@@ -4465,11 +4545,11 @@ class CartSeatingTest(CartTestMixin, TestCase):
with scopes_disabled():
CartPosition.objects.create(
event=self.event, cart_id=self.session_key, item=self.ticket, seat=self.seat_a1,
price=21.5, expires=now() - timedelta(minutes=10)
price=21.5, expires=now() - timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
CartPosition.objects.create(
event=self.event, cart_id='secondcart', item=self.ticket, seat=self.seat_a1,
price=21.5, expires=now() + timedelta(minutes=10)
price=21.5, expires=now() + timedelta(minutes=10), max_extend=now() + 10 * self.cart_reservation_time
)
with self.assertRaises(CartError):
self.cm.commit()