diff --git a/src/tests/presale/test_event.py b/src/tests/presale/test_event.py index 4192baa7b8..ccbf204bd8 100644 --- a/src/tests/presale/test_event.py +++ b/src/tests/presale/test_event.py @@ -6,7 +6,8 @@ from django.utils.timezone import now from tests.base import BrowserTest from pretix.base.models import ( - Event, Item, ItemCategory, ItemVariation, Organizer, Quota, + Event, EventPermission, Item, ItemCategory, ItemVariation, Organizer, + Quota, User, ) @@ -19,6 +20,8 @@ class EventTestMixin: date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc), live=True ) + self.user = User.objects.create_user('dummy@dummy.dummy', 'dummy') + EventPermission.objects.create(user=self.user, event=self.event) class EventMiddlewareTest(EventTestMixin, BrowserTest): @@ -34,6 +37,20 @@ class EventMiddlewareTest(EventTestMixin, BrowserTest): resp = self.client.get('%s/%s/%s/' % (self.live_server_url, 'foo', 'bar')) self.assertEqual(resp.status_code, 404) + def test_not_live(self): + self.event.live = False + self.event.save() + resp = self.client.get('%s/%s/%s/' % (self.live_server_url, self.orga.slug, self.event.slug)) + self.assertEqual(resp.status_code, 403) + + def test_not_live_logged_in(self): + self.event.live = False + self.event.save() + + self.client.login(email='dummy@dummy.dummy', password='dummy') + resp = self.client.get('%s/%s/%s/' % (self.live_server_url, self.orga.slug, self.event.slug)) + self.assertEqual(resp.status_code, 200) + class ItemDisplayTest(EventTestMixin, BrowserTest): def setUp(self):