Fix dynamic validity and add test cases

This commit is contained in:
Mira Weller
2024-04-30 21:49:58 +02:00
parent 9610e9c89f
commit e6f56bfdc2
5 changed files with 177 additions and 29 deletions
+10 -22
View File
@@ -57,7 +57,7 @@ from pretix.base.models.items import (
from pretix.base.services.cart import CartError, CartManager, error_messages
from pretix.testutils.scope import classscope
from pretix.testutils.sessions import get_cart_session_key
from .test_timemachine import TimemachineTestMixin
class CartTestMixin:
@scopes_disabled()
@@ -4276,22 +4276,9 @@ class CartSeatingTest(CartTestMixin, TestCase):
assert not CartPosition.objects.filter(cart_id=self.session_key).exists()
class CartTimemachineTest(CartTestMixin, TestCase):
@scopes_disabled()
def setUp(self):
super().setUp()
self.user = User.objects.create_user('dummy@dummy.dummy', 'dummy')
self.team1 = Team.objects.create(organizer=self.orga, can_create_events=True, can_change_event_settings=True,
can_change_items=True, all_events=True)
self.team1.members.add(self.user)
self.client.login(email='dummy@dummy.dummy', password='dummy')
def _set_time_machine_now(self, dt):
session = self.client.session
session['timemachine_now_dt'] = str(dt)
session.save()
class CartTimemachineTest(CartTestMixin, TimemachineTestMixin, TestCase):
def test_before_presale_timemachine(self):
self._login_with_permission(self.orga)
self.event.presale_start = now() + timedelta(days=1)
self.event.testmode = True
self.event.save()
@@ -4313,6 +4300,7 @@ class CartTimemachineTest(CartTestMixin, TestCase):
minutes=self.event.settings.get('reservation_time', as_type=int)))
def test_after_presale_timemachine(self):
self._login_with_permission(self.orga)
self.event.presale_end = now() - timedelta(days=1)
self.event.testmode = True
self.event.save()
@@ -4334,8 +4322,8 @@ class CartTimemachineTest(CartTestMixin, TestCase):
minutes=self.event.settings.get('reservation_time', as_type=int)))
def test_not_yet_available_with_timemachine_in_time(self):
self.event.testmode = True
self.event.save()
self._login_with_permission(self.orga)
self._enable_test_mode()
self.ticket.available_from = now() + timedelta(days=2)
self.ticket.available_until = now() + timedelta(days=4)
self.ticket.save()
@@ -4347,8 +4335,8 @@ class CartTimemachineTest(CartTestMixin, TestCase):
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 1)
def test_variation_no_longer_available_with_timemachine_in_time(self):
self.event.testmode = True
self.event.save()
self._login_with_permission(self.orga)
self._enable_test_mode()
self.shirt_blue.available_from = now() - timedelta(days=4)
self.shirt_blue.available_until = now() - timedelta(days=2)
self.shirt_blue.save()
@@ -4361,8 +4349,8 @@ class CartTimemachineTest(CartTestMixin, TestCase):
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 1)
def test_variation_no_longer_available_with_timemachine_before(self):
self.event.testmode = True
self.event.save()
self._login_with_permission(self.orga)
self._enable_test_mode()
self.shirt_blue.available_from = now() - timedelta(days=4)
self.shirt_blue.available_until = now() - timedelta(days=2)
self.shirt_blue.save()