diff options
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 77 |
1 files changed, 72 insertions, 5 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 5eeeb1808..a8d627dd5 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -35,7 +35,7 @@ import models from archaeological_operations import views from ishtar_common.models import OrganizationType, Organization, \ - ImporterType, IshtarUser, TargetKey + ImporterType, IshtarUser, TargetKey, IshtarSiteProfile from ishtar_common import forms_common from ishtar_common.tests import WizardTest, create_superuser, create_user @@ -467,11 +467,10 @@ class OperationInitTest(object): return self.towns def get_default_town(self): - town = getattr(self, 'towns', None) - if not town: + towns = getattr(self, 'towns', None) + if not towns: self.create_towns() - town = self.towns[0] - return town + return self.towns[0] def create_parcel(self, data={}): default = {'town': self.get_default_town(), @@ -498,6 +497,28 @@ class OperationInitTest(object): def get_default_operation(self): return self.create_operation()[0] + def tearDown(self): + # cleanup for further test + if hasattr(self, 'user'): + self.user.delete() + self.user = None + # all try/except is necessary for bad migrations on master... + # should be removed at the next big version + if hasattr(self, 'operations'): + for ope in self.operations: + try: + ope.delete() + except: + pass + self.operations = [] + if hasattr(self, 'parcels'): + for p in self.parcels: + try: + p.delete() + except: + pass + self.parcels = [] + class OperationTest(TestCase, OperationInitTest): fixtures = [settings.ROOT_PATH + @@ -510,6 +531,7 @@ class OperationTest(TestCase, OperationInitTest): '../archaeological_operations/fixtures/initial_data-fr.json'] def setUp(self): + IshtarSiteProfile.objects.create() self.username, self.password, self.user = create_superuser() self.alt_username, self.alt_password, self.alt_user = create_user() self.alt_user.user_permissions.add(Permission.objects.get( @@ -519,6 +541,26 @@ class OperationTest(TestCase, OperationInitTest): self.operations += self.create_operation(self.alt_user, self.orgas[0]) self.item = self.operations[0] + def testExternalID(self): + self.item.code_patriarche = '123456789' + self.item.save() + parcel = self.get_default_parcel() + parcel.operation = self.item + parcel.save() + correct_ext_id = u"{}-{}-{}{}".format( + self.item.code_patriarche, parcel.town.numero_insee, + parcel.section, parcel.parcel_number) + self.assertEqual(parcel.external_id, correct_ext_id) + # auto has been previously set + parcel.external_id = 'blabla' + parcel.save() + self.assertEqual(parcel.external_id, correct_ext_id) + # deactivate auto + parcel.auto_external_id = False + parcel.external_id = 'blabla' + parcel.save() + self.assertEqual(parcel.external_id, 'blabla') + def testSearch(self): c = Client() response = c.get(reverse('get-operation'), {'year': '2010'}) @@ -650,6 +692,31 @@ class OperationWizardCreationTest(WizardTest, OperationInitTest, TestCase): self.operation_number + 1) +class OperationWizardClosingTest(OperationWizardCreationTest): + fixtures = OperationWizardCreationTest.fixtures + url_name = 'operation_closing' + wizard_name = 'operation_closing_wizard' + steps = views.operation_closing_steps + form_datas = [[ + { + 'selec-operation_closing': {'pk': None}, + 'date-operation_closing': {'end_date': '2016-01-01'}, + }, []]] + + def pre_wizard(self): + self.ope = self.get_default_operation() + self.form_datas[0][0]['selec-operation_closing']['pk'] = self.ope.pk + self.assertTrue(self.ope.is_active()) + super(OperationWizardClosingTest, self).pre_wizard() + + def post_wizard(self): + ope = models.Operation.objects.get(pk=self.ope.pk) + self.assertFalse(ope.is_active()) + self.assertEqual( + ope.closing()['date'].strftime('%Y-%d-%m'), + self.form_datas[0][0]['date-operation_closing']['end_date']) + + class OperationAdminActWizardCreationTest(WizardTest, OperationInitTest, TestCase): fixtures = [settings.ROOT_PATH + |