diff options
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 48 |
1 files changed, 47 insertions, 1 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) |