diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-09 18:00:14 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-09 18:00:14 +0200 |
commit | 91c89b4e85e06385621b2577d209ab037feb672a (patch) | |
tree | e8ff595f330b8e19237ae86624298264fc710074 /ishtar_common | |
parent | 5cd04a43642ccc3550a0eb57bf4481c08e0402ee (diff) | |
download | Ishtar-91c89b4e85e06385621b2577d209ab037feb672a.tar.bz2 Ishtar-91c89b4e85e06385621b2577d209ab037feb672a.zip |
Tests: account creation
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/tests.py | 48 | ||||
-rw-r--r-- | ishtar_common/views.py | 9 |
2 files changed, 53 insertions, 4 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index c736a8769..596cbf9f6 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -35,6 +35,7 @@ from django.test.client import Client from django.test.runner import DiscoverRunner from ishtar_common import models +from ishtar_common import views from ishtar_common.utils import post_save_point @@ -87,7 +88,7 @@ class WizardTestFormData(object): """ Test set to simulate wizard steps """ - def __init__(self, name, form_datas, ignored=[], pre_tests=[], + def __init__(self, name, form_datas={}, ignored=[], pre_tests=[], extra_tests=[]): """ :param name: explicit name of the test @@ -114,6 +115,8 @@ class WizardTestFormData(object): :param value: value :return: None """ + if form_name not in self.form_datas: + self.form_datas[form_name] = {} self.form_datas[form_name][field_name] = value def append(self, form_name, value): @@ -124,6 +127,8 @@ class WizardTestFormData(object): :param value: value :return: None """ + if form_name not in self.form_datas: + self.form_datas[form_name] = {} self.form_datas[form_name].append(value) def inits(self, test_object): @@ -1044,3 +1049,44 @@ class GeomaticTest(TestCase): post_save_point(None, instance=obj) self.assertIsNotNone(obj.point_2d) self.assertIsNotNone(obj.point) + + +class AccountWizardTest(WizardTest, TestCase): + fixtures = [settings.ROOT_PATH + + '../fixtures/initial_data-auth-fr.json', + settings.ROOT_PATH + + '../ishtar_common/fixtures/initial_data-fr.json',] + url_name = 'account_management' + wizard_name = 'account_wizard' + steps = views.account_wizard_steps + form_datas = [ + WizardTestFormData( + "Add an account", + form_datas={ + 'account': { + 'username': "My username", + 'email': "test@example.com", + 'hidden_password': "my_pass", + 'hidden_password_confirm': "my_pass", + } + }, + ), + ] + + def pre_wizard(self): + self.person = models.Person.objects.create( + name='Boule', surname=' ', + ) + self.form_datas[0].set('selec', 'pk', self.person.pk) + self.form_datas[0].set('account', 'pk', self.person.pk) + + self.account_number = models.IshtarSiteProfile.objects.count() + super(AccountWizardTest, self).pre_wizard() + + def post_wizard(self): + person = models.Person.objects.get(pk=self.person.pk) + user = person.ishtaruser.user_ptr + self.assertEqual(user.username, "My username") + self.assertEqual(user.email, "test@example.com") + self.assertEqual(models.IshtarUser.objects.count(), + self.account_number + 1) diff --git a/ishtar_common/views.py b/ishtar_common/views.py index be7c7b8e0..c537beaaa 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -190,10 +190,13 @@ organization_deletion_wizard = wizards.OrganizationDeletionWizard.as_view( label=_(u"Organization deletion"), url_name='organization_deletion',) +account_wizard_steps = [ + ('selec-account_management', forms.PersonUserFormSelection), + ('account-account_management', forms.AccountForm), + ('final-account_management', forms.FinalAccountForm)] + account_management_wizard = wizards.AccountWizard.as_view( - [('selec-account_management', forms.PersonUserFormSelection), - ('account-account_management', forms.AccountForm), - ('final-account_management', forms.FinalAccountForm)], + account_wizard_steps, label=_(u"Account management"), url_name='account_management',) |