100 lines
3.3 KiB
Python
100 lines
3.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
from django.apps import apps
|
|
from django.core.exceptions import ValidationError
|
|
from django.test import TestCase
|
|
|
|
from dav_events.tests.generic import EventMixin
|
|
|
|
from .generic import RegistrationMixin
|
|
|
|
|
|
class RegistrationTestCase(EventMixin, RegistrationMixin, TestCase):
|
|
def setUp(self):
|
|
super(RegistrationTestCase, self).setUp()
|
|
|
|
app_config = apps.get_app_config('dav_events')
|
|
app_config.settings.enable_email_on_status_update = False
|
|
|
|
self.event = self.create_event_by_model()
|
|
self.submit_event(self.event)
|
|
self.accept_event(self.event)
|
|
self.confirm_publication_event(self.event)
|
|
|
|
def test_create_members(self):
|
|
event = self.event
|
|
registration_data = {
|
|
'event': event,
|
|
'personal_names': 'Participant',
|
|
'family_names': 'One',
|
|
'address': 'Here',
|
|
'postal_code': '1',
|
|
'city': 'Karlsruhe',
|
|
'phone_number': '12',
|
|
'email_address': 'participant@localhost',
|
|
}
|
|
dav_numbers = ['0', '12345', '131/00/12345']
|
|
for n in dav_numbers:
|
|
d = registration_data
|
|
d['dav_number'] = n
|
|
self.create_registration(d)
|
|
|
|
def test_create_members_without_number(self):
|
|
event = self.event
|
|
registration_data = {
|
|
'event': event,
|
|
'personal_names': 'Participant',
|
|
'family_names': 'One',
|
|
'address': 'Here',
|
|
'postal_code': '1',
|
|
'city': 'Karlsruhe',
|
|
'phone_number': '12',
|
|
'email_address': 'participant@localhost',
|
|
}
|
|
with self.assertRaisesMessage(ValidationError,
|
|
'Wenn du DAV Mitglied bist, brauchen wir deine Mitgliedsnummer.'):
|
|
self.create_registration(registration_data)
|
|
|
|
registration_data['dav_number'] = ''
|
|
with self.assertRaisesMessage(ValidationError,
|
|
'Wenn du DAV Mitglied bist, brauchen wir deine Mitgliedsnummer.'):
|
|
self.create_registration(registration_data)
|
|
|
|
def test_create_members_with_invalid_numbers(self):
|
|
event = self.event
|
|
registration_data = {
|
|
'event': event,
|
|
'personal_names': 'Participant',
|
|
'family_names': 'One',
|
|
'address': 'Here',
|
|
'postal_code': '1',
|
|
'city': 'Karlsruhe',
|
|
'phone_number': '12',
|
|
'email_address': 'participant@localhost',
|
|
}
|
|
dav_numbers = ['Nein', '-', '13100123456789']
|
|
for n in dav_numbers:
|
|
d = registration_data
|
|
d['dav_number'] = n
|
|
|
|
with self.assertRaises(ValidationError) as context:
|
|
self.create_registration(d)
|
|
|
|
self.assertEqual(context.exception.messages, ['Ungültiges Format.'])
|
|
|
|
def test_create_non_member(self):
|
|
event = self.event
|
|
registration_data = {
|
|
'event': event,
|
|
'personal_names': 'Participant',
|
|
'family_names': 'One',
|
|
'address': 'Here',
|
|
'postal_code': '1',
|
|
'city': 'Karlsruhe',
|
|
'phone_number': '12',
|
|
'email_address': 'participant@localhost',
|
|
'dav_member': False,
|
|
}
|
|
self.create_registration(registration_data)
|
|
|