Added tests and test configuration for pretix/base

This commit is contained in:
Raphael Michel
2015-08-25 17:01:14 +02:00
parent 077e36e375
commit 8f6b92fbf3
10 changed files with 101 additions and 9 deletions

View File

@@ -70,3 +70,39 @@ class LocaleDeterminationTest(TestCase):
response = c.get('/control/login')
language = response['Content-Language']
self.assertEqual(language, self.TEST_LOCALE)
def test_event_allowed(self):
self.event.settings.set('locales', ['de', 'en'])
c = Client()
cookies = c.cookies
cookies[settings.LANGUAGE_COOKIE_NAME] = 'de'
response = c.get('/dummy/dummy/')
language = response['Content-Language']
self.assertEqual(language, 'de')
def test_event_fallback_to_short(self):
self.event.settings.set('locales', ['de'])
c = Client()
cookies = c.cookies
cookies[settings.LANGUAGE_COOKIE_NAME] = 'de-informal'
response = c.get('/dummy/dummy/')
language = response['Content-Language']
self.assertEqual(language, 'de')
def test_event_fallback_to_long(self):
self.event.settings.set('locales', ['de-informal'])
c = Client()
cookies = c.cookies
cookies[settings.LANGUAGE_COOKIE_NAME] = 'de'
response = c.get('/dummy/dummy/')
language = response['Content-Language']
self.assertEqual(language, 'de-informal')
def test_event_not_allowed(self):
self.event.settings.set('locales', ['en'])
c = Client()
cookies = c.cookies
cookies[settings.LANGUAGE_COOKIE_NAME] = 'de'
response = c.get('/dummy/dummy/')
language = response['Content-Language']
self.assertEqual(language, 'en')

View File

@@ -177,6 +177,34 @@ class UserTestCase(TestCase):
u.save()
self.assertEqual(u.identifier, "test@example.com")
def test_name(self):
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(),
)
u = User.objects.create_local_user(event, 'test', 'test')
self.assertEqual(u.get_local_name(), 'test')
u.givenname = "Christopher"
u.familyname = "Nolan"
u.set_password("test")
u.save()
self.assertEqual(u.get_full_name(), 'Nolan, Christopher')
self.assertEqual(u.get_short_name(), 'Christopher')
u.givenname = None
u.save()
self.assertEqual(u.get_full_name(), 'Nolan')
self.assertEqual(u.get_short_name(), 'Nolan')
u.givenname = "Christopher"
u.familyname = None
u.save()
self.assertEqual(u.get_full_name(), 'Christopher')
self.assertEqual(u.get_short_name(), 'Christopher')
u.givenname = None
u.save()
self.assertEqual(u.get_full_name(), 'test')
self.assertEqual(u.get_short_name(), 'test')
class BaseQuotaTestCase(TestCase):

View File

@@ -1,6 +1,8 @@
from datetime import date, datetime, time
from decimal import Decimal
from django.core.files import File
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase
from django.utils.timezone import now
@@ -22,6 +24,14 @@ class SettingsTestCase(TestCase):
date_from=now(),
)
def test_organizer_set_explicit(self):
self.organizer.settings.test = 'foo'
self.assertEqual(self.organizer.settings.test, 'foo')
# Reload object
self.organizer = Organizer.objects.get(identity=self.organizer.identity)
self.assertEqual(self.organizer.settings.test, 'foo')
def test_event_set_explicit(self):
self.event.settings.test = 'foo'
self.assertEqual(self.event.settings.test, 'foo')
@@ -153,6 +163,20 @@ class SettingsTestCase(TestCase):
except TypeError:
pass
def test_serialize_file(self):
val = SimpleUploadedFile("sample_invalid_image.jpg", b"file_content", content_type="image/jpeg")
self.event.settings.set('test', val)
self.event.settings._flush()
self.assertIsInstance(self.event.settings.get('test', as_type=File), File)
self.assertTrue(self.event.settings.get('test', as_type=File).name.endswith(val.name))
def test_detect_file_value(self):
val = SimpleUploadedFile("sample_invalid_image.jpg", b"file_content", content_type="image/jpeg")
self.event.settings.set('test', val)
self.event.settings._flush()
self.assertIsInstance(self.event.settings.get('test'), File)
self.assertTrue(self.event.settings.get('test').name.endswith(val.name))
def _test_serialization(self, val, as_type):
self.event.settings.set('test', val)
self.event.settings._flush()