diff options
-rw-r--r-- | archaeological_finds/tests.py | 2 | ||||
-rw-r--r-- | archaeological_warehouse/tests.py | 77 | ||||
-rw-r--r-- | archaeological_warehouse/views.py | 7 |
3 files changed, 83 insertions, 3 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index ac87abc48..a1410c5d9 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2015-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py new file mode 100644 index 000000000..cca1478ee --- /dev/null +++ b/archaeological_warehouse/tests.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# See the file COPYING for details. + +from django.conf import settings +from django.test import TestCase + +from archaeological_finds.tests import FindInit + +from ishtar_common.tests import WizardTest, WizardTestFormData as FormData + +from archaeological_warehouse import models, views + + +class ContainerWizardCreationTest(WizardTest, 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', + ] + url_name = 'container_creation' + wizard_name = 'container_wizard' + steps = views.container_creation_steps + form_datas = [ + FormData( + 'Container creation', + form_datas={ + 'container-container_creation': { + 'reference': 'hop-ref', + 'container_type': None, + 'location': None, + 'responsible': None, + }, + 'localisation-container_creation': [] + }, + ) + ] + + def pre_wizard(self): + main_warehouse = models.Warehouse.objects.create( + 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 + self.container_number = models.Container.objects.count() + super(ContainerWizardCreationTest, self).pre_wizard() + + def post_wizard(self): + self.assertEqual(models.Container.objects.count(), + self.container_number + 1) diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 35218cd07..e44ea9cec 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -128,10 +128,13 @@ container_search_wizard = SearchWizard.as_view([ url_name='container_search', ) -container_creation_wizard = ContainerWizard.as_view([ +container_creation_steps = [ ('container-container_creation', ContainerForm), ('localisation-container_creation', LocalisationForm), - ('final-container_creation', FinalForm)], + ('final-container_creation', FinalForm)] + +container_creation_wizard = ContainerWizard.as_view( + container_creation_steps, label=_(u"Container creation"), url_name='container_creation', ) |