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
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)
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"])
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}")
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, }, )
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", }, )
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))
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.")
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 )
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)
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"], }, }, )