More unit tests

This commit is contained in:
Raphael Michel
2015-01-11 18:56:47 +01:00
parent 59eac8987a
commit 3c09998894
6 changed files with 73 additions and 5 deletions

View File

@@ -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:

View File

@@ -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"))

View File

@@ -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()

View File

@@ -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

View 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)

View File

@@ -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 " +