示例#1
0
    def registreer_domein_data(self):
        eigenschap_objecttype = EigenschapFactory.create(eigenschapnaam="melding_type")
        eigenschap_objecttype_url = reverse(eigenschap_objecttype)
        eigenschap_naam_boot = EigenschapFactory.create(
            eigenschapnaam="waternet_naam_boot"
        )
        eigenschap_naam_boot_url = reverse(eigenschap_naam_boot)
        zaak_uuid = self.references["zaak_url"].rsplit("/")[-1]
        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak_uuid)

        self.client.post(
            url,
            {
                "zaak": self.references["zaak_url"],
                "eigenschap": f"http://testserver{eigenschap_objecttype_url}",
                "waarde": "overlast_water",
            },
        )
        self.client.post(
            url,
            {
                "zaak": self.references["zaak_url"],
                "eigenschap": f"http://testserver{eigenschap_naam_boot_url}",
                "waarde": TEST_DATA["waternet_naam_boot"],
            },
        )

        self.references["eigenschap_naam_boot"] = eigenschap_naam_boot
示例#2
0
    def test_filter_eigenschap_status_alles(self):
        EigenschapFactory.create(zaaktype__concept=True)
        EigenschapFactory.create(zaaktype__concept=False)
        eigenschap_list_url = reverse("eigenschap-list")

        response = self.client.get(eigenschap_list_url, {"status": "alles"})
        self.assertEqual(response.status_code, 200)

        data = response.json()["results"]

        self.assertEqual(len(data), 2)
示例#3
0
    def test_pagination_page_param(self):
        EigenschapFactory.create_batch(2, zaaktype__concept=False)
        eigenschap_list_url = reverse("eigenschap-list")

        response = self.client.get(eigenschap_list_url, {"page": 1})

        self.assertEqual(response.status_code, status.HTTP_200_OK)

        response_data = response.json()
        self.assertEqual(response_data["count"], 2)
        self.assertIsNone(response_data["previous"])
        self.assertIsNone(response_data["next"])
示例#4
0
    def test_get_list_default_definitief(self):
        eigenschap1 = EigenschapFactory.create(zaaktype__concept=True)
        eigenschap2 = EigenschapFactory.create(zaaktype__concept=False)
        eigenschap_list_url = reverse("eigenschap-list")
        eigenschap2_url = reverse("eigenschap-detail",
                                  kwargs={"uuid": eigenschap2.uuid})

        response = self.client.get(eigenschap_list_url)
        self.assertEqual(response.status_code, 200)

        data = response.json()["results"]

        self.assertEqual(len(data), 1)
        self.assertEqual(data[0]["url"], f"http://testserver{eigenschap2_url}")
示例#5
0
    def test_get_detail_reference(self):
        referentie = EigenschapReferentieFactory.create(
            x_path_element="x_path_element", namespace="namespace")
        eigenschap = EigenschapFactory.create(
            eigenschapnaam="Aard product",
            referentie_naar_eigenschap=referentie)
        eigenschap_detail_url = reverse("eigenschap-detail",
                                        kwargs={"uuid": eigenschap.uuid})

        response = self.api_client.get(eigenschap_detail_url)

        self.assertEqual(response.status_code, 200)

        data = response.json()

        self.assertIsNone(data["specificatie"])
        self.assertEqual(
            data["referentie"],
            {
                "pathElement": "x_path_element",
                "informatiemodel": None,
                "namespace": "namespace",
                "entiteittype": "",
                "schemalocatie": "",
                "objecttype": None,
            },
        )
示例#6
0
    def test_get_detail(self):
        zaaktype = ZaakTypeFactory.create(catalogus=self.catalogus)
        zaaktype_url = reverse("zaaktype-detail",
                               kwargs={"uuid": zaaktype.uuid})
        specificatie = EigenschapSpecificatieFactory.create(kardinaliteit="1",
                                                            lengte="1",
                                                            groep="groep")
        eigenschap = EigenschapFactory.create(
            eigenschapnaam="Beoogd product",
            zaaktype=zaaktype,
            specificatie_van_eigenschap=specificatie,
        )
        eigenschap_detail_url = reverse("eigenschap-detail",
                                        kwargs={"uuid": eigenschap.uuid})

        response = self.api_client.get(eigenschap_detail_url)

        self.assertEqual(response.status_code, 200)

        expected = {
            "url": "http://testserver{}".format(eigenschap_detail_url),
            "naam": "Beoogd product",
            "definitie": "",
            "specificatie": {
                "formaat": "",
                "groep": "groep",
                "kardinaliteit": "1",
                "lengte": "1",
                "waardenverzameling": [],
            },
            "toelichting": "",
            "zaaktype": "http://testserver{}".format(zaaktype_url),
        }
        self.assertEqual(expected, response.json())
    def test_zet_eigenschappen(self):
        zaak = ZaakFactory.create()
        eigenschap = EigenschapFactory.create(eigenschapnaam="foobar")
        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak.uuid)
        zaak_url = get_operation_url("zaak_read", uuid=zaak.uuid)
        eigenschap_url = reverse(eigenschap)
        data = {
            "zaak": zaak_url,
            "eigenschap": eigenschap_url,
            "waarde": "overlast_water",
        }

        response = self.client.post(url, data)

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        zaakeigenschap = ZaakEigenschap.objects.get()
        self.assertEqual(zaakeigenschap.zaak, zaak)
        detail_url = get_operation_url(
            "zaakeigenschap_read", zaak_uuid=zaak.uuid, uuid=zaakeigenschap.uuid
        )
        self.assertEqual(
            response_data,
            {
                "url": f"http://testserver{detail_url}",
                "uuid": str(zaakeigenschap.uuid),
                "naam": "foobar",
                "zaak": f"http://testserver{zaak_url}",
                "eigenschap": f"http://testserver{eigenschap_url}",
                "waarde": "overlast_water",
            },
        )
示例#8
0
    def test_delete_eigenschap(self):
        eigenschap = EigenschapFactory.create()
        eigenschap_url = reverse("eigenschap-detail",
                                 kwargs={"uuid": eigenschap.uuid})

        response = self.client.delete(eigenschap_url)

        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
        self.assertFalse(Eigenschap.objects.filter(id=eigenschap.id))
示例#9
0
    def test_delete_eigenschap_fail_not_concept_zaaktype(self):
        eigenschap = EigenschapFactory.create(zaaktype__concept=False)
        informatieobjecttypee_url = reverse("eigenschap-detail",
                                            kwargs={"uuid": eigenschap.uuid})

        response = self.client.delete(informatieobjecttypee_url)

        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)

        data = response.json()
        self.assertEqual(data["detail"],
                         "Alleen concepten kunnen worden verwijderd.")
示例#10
0
    def test_create_zaakeigenschap_limited_to_authorized_zaken(self):
        eigenschap = EigenschapFactory.create()
        zaak1 = ZaakFactory.create(
            zaaktype=self.zaaktype,
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar,
        )
        zaak2 = ZaakFactory.create(
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar
        )
        zaak3 = ZaakFactory.create(
            zaaktype=self.zaaktype,
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.vertrouwelijk,
        )
        with self.subTest(
            zaaktype=zaak1.zaaktype,
            vertrouwelijkheidaanduiding=zaak1.vertrouwelijkheidaanduiding,
        ):
            url = get_operation_url("zaakeigenschap_list", zaak_uuid=zaak1.uuid)

            response = self.client.post(
                url,
                {
                    "zaak": reverse(zaak1),
                    "eigenschap": reverse(eigenschap),
                    "waarde": "test",
                },
            )

            self.assertEqual(
                response.status_code, status.HTTP_201_CREATED, response.data
            )

        for zaak in (zaak2, zaak3):
            with self.subTest(
                zaaktype=zaak.zaaktype,
                vertrouwelijkheidaanduiding=zaak.vertrouwelijkheidaanduiding,
            ):
                url = get_operation_url("zaakeigenschap_list", zaak_uuid=zaak.uuid)

                response = self.client.post(
                    url,
                    {
                        "zaak": reverse(zaak),
                        "eigenschap": reverse(eigenschap),
                        "waarde": "test",
                    },
                )

                self.assertEqual(
                    response.status_code, status.HTTP_403_FORBIDDEN, response.data
                )
示例#11
0
    def test_create_eigenschap(self):
        zaak = ZaakFactory.create()
        zaak_url = reverse(zaak)
        eigenschap = EigenschapFactory.create()
        eigenschap_url = reverse(eigenschap)
        list_url = reverse("zaakeigenschap-list",
                           kwargs={"zaak_uuid": zaak.uuid})

        response = self.client.post(list_url, {
            "zaak": zaak_url,
            "eigenschap": eigenschap_url,
            "waarde": "test"
        })

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#12
0
    def test_list_eigenschappen(self):
        zaaktype = ZaakTypeFactory.create(concept=False)

        eigenschap1 = EigenschapFactory.create(
            eigenschapnaam="objecttype",
            zaaktype=zaaktype,
            specificatie_van_eigenschap=EigenschapSpecificatieFactory.create(
                formaat=FormaatChoices.tekst,
                lengte=255,
                kardinaliteit="1",
                waardenverzameling=["boot", "zwerfvuil"],
            ),
        )
        EigenschapFactory.create(
            eigenschapnaam="boot.naam",
            zaaktype=zaaktype,
            specificatie_van_eigenschap=EigenschapSpecificatieFactory.create(
                groep="boot",
                formaat=FormaatChoices.tekst,
                lengte=255,
                kardinaliteit="1",
            ),
        )
        EigenschapFactory.create(
            eigenschapnaam="boot.rederij",
            zaaktype=zaaktype,
            specificatie_van_eigenschap=EigenschapSpecificatieFactory.create(
                groep="boot",
                formaat=FormaatChoices.tekst,
                lengte=255,
                kardinaliteit="1",
            ),
        )

        url = get_operation_url(
            "eigenschap_list",
            catalogus_uuid=zaaktype.catalogus.uuid,
            zaaktype_uuid=zaaktype.uuid,
        )

        response = self.client.get(url)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()["results"]

        self.assertEqual(len(response_data), 3)
        self.assertResponseTypes(
            response_data[0],
            {
                ("url", str),
                ("naam", str),
                ("definitie", str),
                ("specificatie", dict),
                ("toelichting", str),
                ("zaaktype", str),
            },
        )

        eigenschap_objecttype = next(
            (eig for eig in response_data if eig["naam"] == "objecttype"))

        zaaktype_url = get_operation_url(
            "zaaktype_read",
            catalogus_uuid=zaaktype.catalogus.uuid,
            uuid=zaaktype.uuid)
        detail_url = get_operation_url(
            "eigenschap_read",
            catalogus_uuid=zaaktype.catalogus.uuid,
            zaaktype_uuid=zaaktype.uuid,
            uuid=eigenschap1.uuid,
        )
        self.assertEqual(
            eigenschap_objecttype,
            {
                "url": f"http://testserver{detail_url}",
                "naam": "objecttype",
                "definitie": "",
                "zaaktype": f"http://testserver{zaaktype_url}",
                "toelichting": "",
                "specificatie": {
                    "formaat": FormaatChoices.tekst,
                    "groep": "",
                    "kardinaliteit": "1",
                    "lengte": "255",
                    "waardenverzameling": ["boot", "zwerfvuil"],
                },
            },
        )