diff --git a/src/tixl/settings.py b/src/tixl/settings.py index 591d8922eb..69456916f3 100644 --- a/src/tixl/settings.py +++ b/src/tixl/settings.py @@ -147,6 +147,7 @@ DEBUG_TOOLBAR_PATCH_SETTINGS = False # Tixl specific settings TIXL_INSTANCE_NAME = 'tixl.de' +DEFAULT_CURRENCY = 'EUR' INTERNAL_IPS = ('127.0.0.1', '::1') try: diff --git a/src/tixlbase/models.py b/src/tixlbase/models.py index 8f3f00ad46..240e4a7554 100644 --- a/src/tixlbase/models.py +++ b/src/tixlbase/models.py @@ -296,12 +296,14 @@ class Event(Versionable): related_name="events",) locale = models.CharField(max_length=10, choices=settings.LANGUAGES, - verbose_name=_("Default locale")) + verbose_name=_("Default locale"), + default=settings.LANGUAGE_CODE) timezone = models.CharField(max_length=100, default=settings.TIME_ZONE, verbose_name=_('Default timezone')) 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_to = models.DateTimeField(null=True, blank=True, verbose_name=_("Event end time")) diff --git a/src/tixlbase/tests/__init__.py b/src/tixlbase/tests/__init__.py index 9821ebac7e..3feefaac5e 100644 --- a/src/tixlbase/tests/__init__.py +++ b/src/tixlbase/tests/__init__.py @@ -2,6 +2,7 @@ import os import sys from django.test import LiveServerTestCase +from django.conf import settings from selenium import webdriver RUN_LOCAL = ('SAUCE_USERNAME' not in os.environ) @@ -51,6 +52,10 @@ def on_platforms(): class BrowserTest(LiveServerTestCase): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + settings.DEBUG = True + def setUp(self): if RUN_LOCAL: self.setUpLocal() diff --git a/src/tixlcontrol/tests/test_auth.py b/src/tixlcontrol/tests/test_auth.py index 4df288e051..4bd3c3e2f1 100644 --- a/src/tixlcontrol/tests/test_auth.py +++ b/src/tixlcontrol/tests/test_auth.py @@ -1,5 +1,4 @@ -from django.test import TestCase, Client, LiveServerTestCase -from selenium import webdriver +from django.test import TestCase, Client from tixlbase.models import User from tixlbase.tests import BrowserTest, on_platforms diff --git a/src/tixlcontrol/tests/test_events.py b/src/tixlcontrol/tests/test_events.py new file mode 100644 index 0000000000..c63e111179 --- /dev/null +++ b/src/tixlcontrol/tests/test_events.py @@ -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) diff --git a/src/tixlplugins/timerestriction/__init__.py b/src/tixlplugins/timerestriction/__init__.py index c8be10ceec..59dcecaacb 100644 --- a/src/tixlplugins/timerestriction/__init__.py +++ b/src/tixlplugins/timerestriction/__init__.py @@ -9,7 +9,7 @@ class TimeRestrictionApp(AppConfig): class TixlPluginMeta: type = PluginType.RESTRICTION - name = _("Restricition by time") + name = _("Restriction by time") author = _("the tixl team") version = '1.0.0' description = _("This plugin adds the possibility to restrict the sale " +