diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-20 20:09:06 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-20 20:09:06 +0100 |
commit | d26217d09080ef93fe0b36c3543a266d7a04c688 (patch) | |
tree | 99faaf3ec3a2d6da7d265995419dc6af45a69fbe /archaeological_warehouse/tests.py | |
parent | 4abb5ff78620c096ab4238535c8e4b22291a2cb1 (diff) | |
parent | ac595e9aa13d27fb15e70eb1f6e2d11f928a4c4a (diff) | |
download | Ishtar-d26217d09080ef93fe0b36c3543a266d7a04c688.tar.bz2 Ishtar-d26217d09080ef93fe0b36c3543a266d7a04c688.zip |
Merge branch 'v0.9' into wheezy
Diffstat (limited to 'archaeological_warehouse/tests.py')
-rw-r--r-- | archaeological_warehouse/tests.py | 122 |
1 files changed, 99 insertions, 23 deletions
diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py index f4ce52732..850af8218 100644 --- a/archaeological_warehouse/tests.py +++ b/archaeological_warehouse/tests.py @@ -26,9 +26,7 @@ from ishtar_common.tests import WizardTest, WizardTestFormData as FormData from archaeological_warehouse import models, views, forms - -class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): - fixtures = [settings.ROOT_PATH + +warehouse_fixtures = [settings.ROOT_PATH + '../fixtures/initial_data.json', settings.ROOT_PATH + '../ishtar_common/fixtures/initial_data.json', @@ -41,6 +39,52 @@ class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): settings.ROOT_PATH + '../archaeological_warehouse/fixtures/initial_data-fr.json', ] + + +class WarehouseWizardCreationTest(WizardTest, FindInit, TestCase): + fixtures = warehouse_fixtures + url_name = 'warehouse_creation' + wizard_name = 'warehouse_wizard' + steps = views.warehouse_creation_steps + form_datas = [ + FormData( + 'Warehouse creation', + form_datas={ + 'warehouse-warehouse_creation': { + 'name': 'warehouse-ref', + 'warehouse_type': None, + 'location': None, + 'responsible': None, + }, + 'divisions-warehouse_creation': [ + { + 'division': None, + 'order': 42 + } + ] + }, + ), + ] + + def pre_wizard(self): + main_data = self.form_datas[0].form_datas + main_data['warehouse-warehouse_creation']['warehouse_type'] = \ + models.WarehouseType.objects.all()[0].pk + main_data['divisions-warehouse_creation'][0]['division'] = \ + models.WarehouseDivision.create_default_for_test()[0].pk + self.warehouse_number = models.Warehouse.objects.count() + self.warehouse_div_link = models.WarehouseDivisionLink.objects.count() + super(WarehouseWizardCreationTest, self).pre_wizard() + + def post_wizard(self): + self.assertEqual(models.Warehouse.objects.count(), + self.warehouse_number + 1) + self.assertEqual(models.WarehouseDivisionLink.objects.count(), + self.warehouse_div_link + 1) + + +class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): + fixtures = warehouse_fixtures url_name = 'container_creation' wizard_name = 'container_wizard' steps = views.container_creation_steps @@ -56,7 +100,31 @@ class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): }, 'localisation-container_creation': [] }, - ) + ), + FormData( + 'Other container on the same warehouse', + form_datas={ + 'container-container_creation': { + 'reference': 'hop-ref2', + 'container_type': None, + 'location': None, + 'responsible': None, + }, + 'localisation-container_creation': [] + }, + ), + FormData( + 'Container creation with location', + form_datas={ + 'container-container_creation': { + 'reference': 'hop-ref3', + 'container_type': None, + 'location': None, + 'responsible': None, + }, + 'localisation-container_creation': [] + }, + ), ] def pre_wizard(self): @@ -64,33 +132,41 @@ class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): name="Main", warehouse_type=models.WarehouseType.objects.all()[0] ) - forms_data = self.form_datas[0].form_datas[ - 'container-container_creation'] - forms_data["responsible"] = main_warehouse.pk - forms_data["location"] = main_warehouse.pk - forms_data["container_type"] = models.ContainerType.objects.all()[0].pk + main_data = self.form_datas[0].form_datas + main_data_bis = self.form_datas[1].form_datas + alt_data = self.form_datas[2].form_datas + for data in [main_data, main_data_bis, alt_data]: + forms_data = data['container-container_creation'] + forms_data["responsible"] = main_warehouse.pk + forms_data["location"] = main_warehouse.pk + forms_data["container_type"] = \ + models.ContainerType.objects.all()[0].pk + alt_warehouse = models.Warehouse.objects.create( + name="Alt", + warehouse_type=models.WarehouseType.objects.all()[0] + ) + div = models.WarehouseDivision.objects.create(label='division') + div_link = models.WarehouseDivisionLink.objects.create( + warehouse=alt_warehouse, division=div) + alt_data['container-container_creation']["location"] = alt_warehouse.pk + alt_data['localisation-container_creation'] = { + 'division_{}'.format(div_link.pk): 'Combien ?' + } + self.container_number = models.Container.objects.count() + self.localisation_detail_number = \ + models.ContainerLocalisation.objects.count() super(ContainerWizardCreationTest, self).pre_wizard() def post_wizard(self): self.assertEqual(models.Container.objects.count(), - self.container_number + 1) + self.container_number + 3) + self.assertEqual(models.ContainerLocalisation.objects.count(), + self.localisation_detail_number + 1) class ContainerTest(FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_warehouse/fixtures/initial_data-fr.json', - ] + fixtures = warehouse_fixtures def testFormCreation(self): main_warehouse = models.Warehouse.objects.create( |