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',  ) | 
