forked from CGM_Public/pretix_original
Fix dynamic validity and add test cases
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user