Fix #9 Registrations: Add support for non members
All checks were successful
buildbot/tox Build done.

This commit is contained in:
2020-10-15 17:44:12 +02:00
parent 28a35d98d2
commit 63026e429b
16 changed files with 315 additions and 29 deletions

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