diff options
Diffstat (limited to 'ishtar_common/tests.py')
| -rw-r--r-- | ishtar_common/tests.py | 100 | 
1 files changed, 100 insertions, 0 deletions
| diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 3d69315b4..6cd6db9e3 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -3793,6 +3793,106 @@ class DocumentQATest(TestCase):              models.Document.objects.get(pk=self.doc_2.pk).tags.first(), self.tag          ) +    def test_packaging(self): +        c = Client() +        pks = "{}-{}".format(self.doc_1.pk, self.doc_2.pk) +        url = reverse("document-qa-packaging", args=[pks]) +        response = c.get(url) +        self.assertRedirects(response, "/") +        profile, created = models.IshtarSiteProfile.objects.get_or_create( +            slug="default", active=True +        ) +        profile.warehouse = False +        profile.save() + +        c = Client() +        c.login(username=self.username, password=self.password) +        response = c.get(url) +        # warehouse profile must be activated +        self.assertEqual(response.status_code, 404) + +        profile.warehouse = True +        profile.save() +        response = c.get(url) +        self.assertEqual(response.status_code, 200) + +        c = Client() +        c.login(username=self.username, password=self.password) +        response = c.get(url) +        self.assertEqual(response.status_code, 200) + +        WarehouseType = apps.get_model("archaeological_warehouse", "WarehouseType") +        Warehouse = apps.get_model("archaeological_warehouse", "Warehouse") +        ContainerType = apps.get_model("archaeological_warehouse", "ContainerType") +        Container = apps.get_model("archaeological_warehouse", "Container") + +        wt = WarehouseType.objects.create(label="Dépôt", txt_idx="depot") +        main_warehouse = Warehouse.objects.create( +            name="Main", warehouse_type=wt +        ) + +        ct = ContainerType.objects.create(label="Boite", txt_idx="boite") +        container = Container.objects.create( +            reference="Test", +            responsible=main_warehouse, +            location=main_warehouse, +            container_type=ct, +        ) +        container2 = Container.objects.create( +            reference="Test2", +            responsible=main_warehouse, +            location=main_warehouse, +            container_type=ct, +        ) + +        data_check_lst = [ +            ( +                { +                    "qa-packaging-container": container.pk, +                    "qa-packaging-container_to_change": "reference", +                }, +                {"container_ref": container, "container": None}, +            ), +            ( +                { +                    "qa-packaging-container": container2.pk, +                    "qa-packaging-container_to_change": "current", +                }, +                {"container_ref": None, "container": container2}, +            ), +            ( +                { +                    "qa-packaging-container": container.pk, +                    "qa-packaging-container_to_change": "current-and-reference", +                }, +                {"container_ref": container, "container": container}, +            ), +            ( +                { +                    "qa-packaging-container": container2.pk, +                    "qa-packaging-container_to_change": "reference", +                }, +                {"container_ref": container2, "container": None}, +            ), +        ] + +        for data, check in data_check_lst: +            # reinit +            self.doc_1.container_id, self.doc_1.container_ref_id = None, None +            self.doc_1.skip_history_when_saving = True +            self.doc_1.save() +            self.doc_2.container_id, self.doc_2.container_ref_id = None, None +            self.doc_2.skip_history_when_saving = True +            self.doc_2.save() + +            response = c.post(reverse("document-qa-packaging", args=[pks]), data) +            self.assertRedirects(response, "/success/") +            for k in check: +                doc = models.Document.objects.get(pk=self.doc_1.pk) +                self.assertEqual(getattr(doc, k), check[k]) +                doc = models.Document.objects.get(pk=self.doc_2.pk) +                self.assertEqual(getattr(doc, k), check[k]) +  class StorageTest(TestCase):      def setUp(self) -> None: | 
