def registreer_domein_data(self): eigenschap_objecttype = EigenschapFactory.create( eigenschapnaam="melding_type", zaaktype=self.references["zaaktype"]) eigenschap_objecttype_url = reverse(eigenschap_objecttype) eigenschap_naam_boot = EigenschapFactory.create( eigenschapnaam="waternet_naam_boot", zaaktype=self.references["zaaktype"]) 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_zet_eigenschappen(self): zaak = ZaakFactory.create() eigenschap = EigenschapFactory.create(eigenschapnaam="foobar", zaaktype=zaak.zaaktype) 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": f"http://testserver{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_create_zaakeigenschap_limited_to_authorized_zaken(self): eigenschap = EigenschapFactory.create(zaaktype=self.zaaktype) 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": f"http://testserver{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_create_zaakeigenschap(self): zaak = ZaakFactory.create() zaak_url = get_operation_url("zaak_read", uuid=zaak.uuid) eigenschap = EigenschapFactory.create() add_url = reverse("admin:zaken_zaakeigenschap_add") data = { "uuid": uuid.uuid4(), "zaak": zaak.id, "_eigenschap": eigenschap.id, "_naam": "some name", "waarde": "test", } self.client.post(add_url, data) self.assertEqual(ZaakEigenschap.objects.count(), 1) zaakeigenschap = ZaakEigenschap.objects.get() zaakeigenschap_url = get_operation_url("zaakeigenschap_read", uuid=zaakeigenschap.uuid, zaak_uuid=zaak.uuid) self.assertEqual(AuditTrail.objects.count(), 1) audittrail = AuditTrail.objects.get() self.assertEqual(audittrail.bron, "ZRC") self.assertEqual(audittrail.actie, "create") self.assertEqual(audittrail.resultaat, 0) self.assertEqual(audittrail.applicatie_weergave, "admin") self.assertEqual(audittrail.gebruikers_id, f"{self.user.id}"), self.assertEqual(audittrail.gebruikers_weergave, self.user.get_full_name()), self.assertEqual(audittrail.hoofd_object, f"http://testserver{zaak_url}"), self.assertEqual(audittrail.resource, "zaakeigenschap"), self.assertEqual(audittrail.resource_url, f"http://testserver{zaakeigenschap_url}"), self.assertEqual(audittrail.resource_weergave, zaakeigenschap.unique_representation()), self.assertEqual(audittrail.oud, None) new_data = audittrail.nieuw self.assertEqual(new_data["naam"], "some name")
def test_create_zaakeigenschap_not_in_zaaktypen_fails(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": f"http://testserver{eigenschap_url}", "waarde": "overlast_water", } response = self.client.post(url, data) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST, response.data) error = get_validation_errors(response, "nonFieldErrors") self.assertEqual(error["code"], "zaaktype-mismatch")
def test_zaakeigenschap_create_fail_send_notification_create_db_entry( self): zaak = ZaakFactory.create() zaak_url = reverse(zaak) url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak.uuid) eigenschap = EigenschapFactory.create(zaaktype=zaak.zaaktype) eigenschap_url = reverse(eigenschap) data = { "zaak": f"http://testserver{zaak_url}", "eigenschap": f"http://testserver{eigenschap_url}", "waarde": "ja", } with capture_on_commit_callbacks(execute=True): response = self.client.post(url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) data = response.json() self.assertEqual(StatusLog.objects.count(), 1) logged_warning = StatusLog.objects.get() failed = FailedNotification.objects.get() message = { "aanmaakdatum": "2019-01-01T12:00:00Z", "actie": "create", "hoofdObject": f"http://testserver{zaak_url}", "kanaal": "zaken", "kenmerken": { "bronorganisatie": zaak.bronorganisatie, "zaaktype": f"http://testserver{reverse(zaak.zaaktype)}", "vertrouwelijkheidaanduiding": zaak.vertrouwelijkheidaanduiding, }, "resource": "zaakeigenschap", "resourceUrl": data["url"], } self.assertEqual(failed.statuslog_ptr, logged_warning) self.assertEqual(failed.message, message)