mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
More unit tests
This commit is contained in:
@@ -147,6 +147,7 @@ DEBUG_TOOLBAR_PATCH_SETTINGS = False
|
|||||||
# Tixl specific settings
|
# Tixl specific settings
|
||||||
|
|
||||||
TIXL_INSTANCE_NAME = 'tixl.de'
|
TIXL_INSTANCE_NAME = 'tixl.de'
|
||||||
|
DEFAULT_CURRENCY = 'EUR'
|
||||||
INTERNAL_IPS = ('127.0.0.1', '::1')
|
INTERNAL_IPS = ('127.0.0.1', '::1')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -296,12 +296,14 @@ class Event(Versionable):
|
|||||||
related_name="events",)
|
related_name="events",)
|
||||||
locale = models.CharField(max_length=10,
|
locale = models.CharField(max_length=10,
|
||||||
choices=settings.LANGUAGES,
|
choices=settings.LANGUAGES,
|
||||||
verbose_name=_("Default locale"))
|
verbose_name=_("Default locale"),
|
||||||
|
default=settings.LANGUAGE_CODE)
|
||||||
timezone = models.CharField(max_length=100,
|
timezone = models.CharField(max_length=100,
|
||||||
default=settings.TIME_ZONE,
|
default=settings.TIME_ZONE,
|
||||||
verbose_name=_('Default timezone'))
|
verbose_name=_('Default timezone'))
|
||||||
currency = models.CharField(max_length=10,
|
currency = models.CharField(max_length=10,
|
||||||
verbose_name=_("Default currency"))
|
verbose_name=_("Default currency"),
|
||||||
|
default=settings.DEFAULT_CURRENCY)
|
||||||
date_from = models.DateTimeField(verbose_name=_("Event start time"))
|
date_from = models.DateTimeField(verbose_name=_("Event start time"))
|
||||||
date_to = models.DateTimeField(null=True, blank=True,
|
date_to = models.DateTimeField(null=True, blank=True,
|
||||||
verbose_name=_("Event end time"))
|
verbose_name=_("Event end time"))
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from django.test import LiveServerTestCase
|
from django.test import LiveServerTestCase
|
||||||
|
from django.conf import settings
|
||||||
from selenium import webdriver
|
from selenium import webdriver
|
||||||
|
|
||||||
RUN_LOCAL = ('SAUCE_USERNAME' not in os.environ)
|
RUN_LOCAL = ('SAUCE_USERNAME' not in os.environ)
|
||||||
@@ -51,6 +52,10 @@ def on_platforms():
|
|||||||
|
|
||||||
class BrowserTest(LiveServerTestCase):
|
class BrowserTest(LiveServerTestCase):
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
settings.DEBUG = True
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
if RUN_LOCAL:
|
if RUN_LOCAL:
|
||||||
self.setUpLocal()
|
self.setUpLocal()
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
from django.test import TestCase, Client, LiveServerTestCase
|
from django.test import TestCase, Client
|
||||||
from selenium import webdriver
|
|
||||||
|
|
||||||
from tixlbase.models import User
|
from tixlbase.models import User
|
||||||
from tixlbase.tests import BrowserTest, on_platforms
|
from tixlbase.tests import BrowserTest, on_platforms
|
||||||
|
|||||||
61
src/tixlcontrol/tests/test_events.py
Normal file
61
src/tixlcontrol/tests/test_events.py
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
import datetime
|
||||||
|
from tixlbase.models import User, Organizer, Event, OrganizerPermission, EventPermission
|
||||||
|
from tixlbase.tests import BrowserTest, on_platforms
|
||||||
|
|
||||||
|
|
||||||
|
@on_platforms()
|
||||||
|
class EventsTest(BrowserTest):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super().setUp()
|
||||||
|
self.user = User.objects.create_user('dummy@dummy.dummy', 'dummy@dummy.dummy', 'dummy')
|
||||||
|
self.orga1 = Organizer.objects.create(name='CCC', slug='ccc')
|
||||||
|
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm')
|
||||||
|
self.event1 = Event.objects.create(
|
||||||
|
organizer=self.orga1, name='30C3', slug='30c3',
|
||||||
|
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
||||||
|
)
|
||||||
|
self.event2 = Event.objects.create(
|
||||||
|
organizer=self.orga1, name='31C3', slug='31c3',
|
||||||
|
date_from=datetime.datetime(2014, 12, 26, tzinfo=datetime.timezone.utc),
|
||||||
|
)
|
||||||
|
self.event3 = Event.objects.create(
|
||||||
|
organizer=self.orga2, name='MRMCD14', slug='mrmcd14',
|
||||||
|
date_from=datetime.datetime(2014, 9, 5, tzinfo=datetime.timezone.utc),
|
||||||
|
)
|
||||||
|
OrganizerPermission.objects.create(organizer=self.orga1, user=self.user)
|
||||||
|
EventPermission.objects.create(event=self.event1, user=self.user, can_change_items=True,
|
||||||
|
can_change_settings=True)
|
||||||
|
self.driver.implicitly_wait(10)
|
||||||
|
self.driver.get('%s%s' % (self.live_server_url, '/control/login'))
|
||||||
|
username_input = self.driver.find_element_by_name("email")
|
||||||
|
username_input.send_keys('dummy@dummy.dummy')
|
||||||
|
password_input = self.driver.find_element_by_name("password")
|
||||||
|
password_input.send_keys('dummy')
|
||||||
|
self.driver.find_element_by_css_selector('button[type="submit"]').click()
|
||||||
|
self.driver.find_element_by_class_name("navbar-right")
|
||||||
|
|
||||||
|
def test_event_list(self):
|
||||||
|
self.driver.get('%s%s' % (self.live_server_url, '/control/events/'))
|
||||||
|
tabletext = self.driver.find_element_by_css_selector(".container .table").text
|
||||||
|
self.assertIn("30C3", tabletext)
|
||||||
|
self.assertNotIn("31C3", tabletext)
|
||||||
|
self.assertNotIn("MRMCD14", tabletext)
|
||||||
|
|
||||||
|
def test_settings(self):
|
||||||
|
self.driver.get('%s/control/event/%s/%s/settings/' % (self.live_server_url, self.orga1.slug,
|
||||||
|
self.event1.slug))
|
||||||
|
self.driver.find_element_by_name("date_to").send_keys("2013-12-30 17:00:00")
|
||||||
|
self.driver.find_element_by_class_name("btn-save").click()
|
||||||
|
self.driver.find_element_by_class_name("alert-success")
|
||||||
|
self.assertIn("2013-12-30 17:00:00", self.driver.find_element_by_name("date_to").get_attribute("value"))
|
||||||
|
|
||||||
|
def test_plugins(self):
|
||||||
|
self.driver.get('%s/control/event/%s/%s/settings/plugins' % (self.live_server_url, self.orga1.slug,
|
||||||
|
self.event1.slug))
|
||||||
|
self.assertIn("Restriction by time", self.driver.find_element_by_class_name("form-plugins").text)
|
||||||
|
self.assertIn("Enable", self.driver.find_element_by_name("plugin:tixlplugins.timerestriction").text)
|
||||||
|
self.driver.find_element_by_name("plugin:tixlplugins.timerestriction").click()
|
||||||
|
self.assertIn("Disable", self.driver.find_element_by_name("plugin:tixlplugins.timerestriction").text)
|
||||||
|
self.driver.find_element_by_name("plugin:tixlplugins.timerestriction").click()
|
||||||
|
self.assertIn("Enable", self.driver.find_element_by_name("plugin:tixlplugins.timerestriction").text)
|
||||||
@@ -9,7 +9,7 @@ class TimeRestrictionApp(AppConfig):
|
|||||||
|
|
||||||
class TixlPluginMeta:
|
class TixlPluginMeta:
|
||||||
type = PluginType.RESTRICTION
|
type = PluginType.RESTRICTION
|
||||||
name = _("Restricition by time")
|
name = _("Restriction by time")
|
||||||
author = _("the tixl team")
|
author = _("the tixl team")
|
||||||
version = '1.0.0'
|
version = '1.0.0'
|
||||||
description = _("This plugin adds the possibility to restrict the sale " +
|
description = _("This plugin adds the possibility to restrict the sale " +
|
||||||
|
|||||||
Reference in New Issue
Block a user