summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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
commit2eae28f03ef40c8d26f669527561da755dba81ad (patch)
treee8ff595f330b8e19237ae86624298264fc710074 /ishtar_common
parente52bb4b1983c38b0222c04954cefce4f7ba30574 (diff)
downloadIshtar-2eae28f03ef40c8d26f669527561da755dba81ad.tar.bz2
Ishtar-2eae28f03ef40c8d26f669527561da755dba81ad.zip
Tests: account creation
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/tests.py48
-rw-r--r--ishtar_common/views.py9
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',)