Fix #9 Registrations: Add support for non members
All checks were successful
buildbot/tox Build done.
All checks were successful
buildbot/tox Build done.
This commit is contained in:
99
dav_registration/tests/test_models.py
Normal file
99
dav_registration/tests/test_models.py
Normal file
@@ -0,0 +1,99 @@
|
||||
# -*- 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)
|
||||
|
||||
Reference in New Issue
Block a user