def test_uniqueness_identificatie(self): zaaktype = ZaakTypeFactory.create() zaaktype_url = reverse(zaaktype) ZaakFactory.create(identificatie="strtmzk-0001", bronorganisatie="517439943") url = get_operation_url("zaak_create") data = { "zaaktype": f"http://testserver{zaaktype_url}", "vertrouwelijkheidaanduiding": VertrouwelijkheidsAanduiding.openbaar, "identificatie": "strtmzk-0001", "bronorganisatie": "517439943", "verantwoordelijkeOrganisatie": VERANTWOORDELIJKE_ORGANISATIE, "startdatum": "2018-06-11", } response = self.client.post(url, data, **ZAAK_WRITE_KWARGS) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data["code"], "invalid") error = get_validation_errors(response, "identificatie") self.assertEqual(error["code"], "identificatie-niet-uniek")
def test_geef_zelf_identificatie(self): """ Garandeer dat de client zelf een identificatie kan genereren. """ zaaktype = ZaakTypeFactory.create() zaaktype_url = reverse(zaaktype) url = get_operation_url("zaak_create") data = { "zaaktype": f"http://testserver{zaaktype_url}", "vertrouwelijkheidaanduiding": VertrouwelijkheidsAanduiding.openbaar, "identificatie": "strtmzk-0001", "verantwoordelijkeOrganisatie": VERANTWOORDELIJKE_ORGANISATIE, "bronorganisatie": "517439943", "startdatum": "2018-06-11", } response = self.client.post(url, data, **ZAAK_WRITE_KWARGS) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) zaak = Zaak.objects.get() self.assertEqual(zaak.identificatie, "strtmzk-0001")
def setUpTestData(cls): cls.zaaktype = ZaakTypeFactory.create() super().setUpTestData()
def test_create_melding(self): """ Maak een zaak voor een melding. """ zaaktype = ZaakTypeFactory.create(concept=False) zaaktype_url = reverse(zaaktype) zaak_create_url = get_operation_url("zaak_create") data = { "zaaktype": f"http://testserver{zaaktype_url}", "vertrouwelijkheidaanduiding": VertrouwelijkheidsAanduiding.openbaar, "bronorganisatie": "517439943", "verantwoordelijkeOrganisatie": VERANTWOORDELIJKE_ORGANISATIE, "startdatum": "2018-07-25", "einddatum": "2018-08-25", # afhankelijk van ZTC configuratie (doorlooptijd) "einddatumGepland": "2018-08-25", # afhankelijk van ZTC configuratie (servicenorm) "toelichting": "De struik aan de straatkant belemmert het uitzicht " "vanaf mijn balkon.", "omschrijving": "", "zaakgeometrie": {"type": "Point", "coordinates": [4.4683077, 51.9236739]}, } # aanmaken zaak response = self.client.post(zaak_create_url, data, **ZAAK_WRITE_KWARGS) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) data = response.json() self.assertIn("identificatie", data) self.assertEqual(data["registratiedatum"], date.today().strftime("%Y-%m-%d")) self.assertEqual(data["einddatumGepland"], "2018-08-25") zaak_url = data["url"] # verwijzen naar melding zo_create_url = get_operation_url("zaakobject_create") response = self.client.post( zo_create_url, {"zaak": zaak_url, "object": MOR, "objectType": ZaakobjectTypes.adres}, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) zaak = Zaak.objects.get() melding = zaak.zaakobject_set.get() self.assertEqual(melding.object_type, ZaakobjectTypes.adres) # toevoegen initiator # BRP kan/moet bevraagd worden met NAW -> INITIATOR url is resultaat rol_create_url = get_operation_url("rol_create") roltype = RolTypeFactory.create( zaaktype=zaaktype, omschrijving=RolOmschrijving.initiator, omschrijving_generiek=RolOmschrijving.initiator, ) roltype_url = reverse(roltype) response = self.client.post( rol_create_url, { "zaak": zaak_url, "betrokkene": INITIATOR, "betrokkene_type": RolTypes.natuurlijk_persoon, # 'Natuurlijk persoon' "roltype": f"http://testserver{roltype_url}", "roltoelichting": "initiele melder", }, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) initiator = zaak.rol_set.get(omschrijving_generiek=RolOmschrijving.initiator) self.assertEqual(initiator.betrokkene, INITIATOR) # toevoegen behandelaar roltype2 = RolTypeFactory.create( zaaktype=zaaktype, omschrijving=RolOmschrijving.behandelaar, omschrijving_generiek=RolOmschrijving.behandelaar, ) roltype2_url = reverse(roltype2) response = self.client.post( rol_create_url, { "zaak": zaak_url, "betrokkene": BEHANDELAAR, "betrokkene_type": RolTypes.vestiging, # 'Vestiging' "roltype": f"http://testserver{roltype2_url}", "roltoelichting": "behandelaar", }, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) behandelaar = zaak.rol_set.get( omschrijving_generiek=RolOmschrijving.behandelaar ) self.assertEqual(behandelaar.betrokkene, BEHANDELAAR)
def setUpTestData(cls): super().setUpTestData() cls.zaaktype = ZaakTypeFactory.create(concept=False) cls.zaaktype_url = reverse(cls.zaaktype)
def test_full_flow(self): zaaktype = ZaakTypeFactory.create() zaaktype_url = reverse(zaaktype) zaak_create_url = get_operation_url("zaak_create") zaakobject_create_url = get_operation_url("zaakobject_create") status_create_url = get_operation_url("status_create") rol_create_url = get_operation_url("rol_create") # Creeer InzageVerzoek # self.client.post(...) # Creeer Zaak data = { "zaaktype": zaaktype_url, "vertrouwelijkheidaanduiding": VertrouwelijkheidsAanduiding.openbaar, "bronorganisatie": "517439943", "verantwoordelijkeOrganisatie": VERANTWOORDELIJKE_ORGANISATIE, "identificatie": "AVG-inzageverzoek-1", "omschrijving": "Melding binnengekomen via website.", "toelichting": "Vanuit melding: Beste,\n\nGraag zou ik ...", "startdatum": "2018-08-22", "kenmerken": [ {"kenmerk": "kenmerk 1", "bron": "bron 1"}, {"kenmerk": "kenmerk 2", "bron": "bron 2"}, ], } response = self.client.post(zaak_create_url, data, **ZAAK_WRITE_KWARGS) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) zaak = response.json() # Koppel Zaak aan InzageVerzoek data = { "zaak": zaak["url"], "object": AVG_INZAGE_VERZOEK, "relatieomschrijving": "Inzage verzoek horend bij deze zaak.", "objectType": ZaakobjectTypes.adres, } response = self.client.post(zaakobject_create_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) # Geef de Zaak een initiele Status statustype = StatusTypeFactory.create(zaaktype=zaaktype) statustype_url = reverse(statustype) StatusTypeFactory.create(zaaktype=zaaktype) data = { "zaak": zaak["url"], "statustype": statustype_url, "datumStatusGezet": datetime.datetime.now().isoformat(), } response = self.client.post(status_create_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) # Haal mogelijke rollen op uit ZTC... # self.client.get(...) # Voeg een behandelaar toe. roltype = RolTypeFactory.create( zaaktype=zaaktype, omschrijving=RolOmschrijving.behandelaar, omschrijving_generiek=RolOmschrijving.behandelaar, ) roltype_url = reverse(roltype) data = { "zaak": zaak["url"], "betrokkene": BEHANDELAAR, "betrokkeneType": RolTypes.natuurlijk_persoon, "roltype": roltype_url, "roltoelichting": "Initiele behandelaar die meerdere (deel)behandelaren kan aanwijzen.", } response = self.client.post(rol_create_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) # Status wijzigingen... # Update Zaak met nieuwe behandeltermijn, uitstel van 2 weken. zaak_update_url = get_operation_url( "zaak_update", uuid=zaak["url"].rsplit("/", 1)[1] ) if zaak["einddatumGepland"]: end_date_planned = parse_isodatetime(zaak["einddatumGepland"]) else: end_date_planned = datetime.datetime.now() data = zaak.copy() data["verlenging"] = None data["opschorting"] = None data["einddatumGepland"] = ( end_date_planned + datetime.timedelta(days=14) ).strftime("%Y-%m-%d") response = self.client.put(zaak_update_url, data, **ZAAK_WRITE_KWARGS) self.assertEqual(response.status_code, status.HTTP_200_OK, response.data)
def test_zaak_archiefactiedatum_afleidingswijze_ingangsdatum_besluit(self): zaaktype = ZaakTypeFactory.create() zaak = ZaakFactory.create(zaaktype=zaaktype) zaak_url = reverse(zaak) statustype1 = StatusTypeFactory.create(zaaktype=zaaktype) statustype1_url = reverse(statustype1) statustype2 = StatusTypeFactory.create(zaaktype=zaaktype) statustype2_url = reverse(statustype2) resultaattype = ResultaatTypeFactory.create( zaaktype=zaaktype, archiefactietermijn=relativedelta(years=10), archiefnominatie=Archiefnominatie.blijvend_bewaren, brondatum_archiefprocedure_afleidingswijze=BrondatumArchiefprocedureAfleidingswijze.ingangsdatum_besluit, ) resultaattype_url = reverse(resultaattype) BesluitFactory.create(zaak=zaak, ingangsdatum="2020-05-03") # Set initial status status_list_url = reverse("status-list") response = self.client.post( status_list_url, { "zaak": zaak_url, "statustype": f"http://testserver{statustype1_url}", "datumStatusGezet": isodatetime(2018, 10, 1, 10, 00, 00), }, ) self.assertEqual( response.status_code, status.HTTP_201_CREATED, response.content ) zaak.refresh_from_db() self.assertIsNone(zaak.einddatum) # add a result for the case resultaat_create_url = get_operation_url("resultaat_create") data = { "zaak": zaak_url, "resultaattype": f"http://testserver{resultaattype_url}", "toelichting": "", } response = self.client.post(resultaat_create_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) # Set eindstatus datum_status_gezet = utcdatetime(2018, 10, 22, 10, 00, 00) response = self.client.post( status_list_url, { "zaak": zaak_url, "statustype": f"http://testserver{statustype2_url}", "datumStatusGezet": datum_status_gezet.isoformat(), }, ) self.assertEqual( response.status_code, status.HTTP_201_CREATED, response.content ) zaak.refresh_from_db() self.assertEqual(zaak.einddatum, datum_status_gezet.date()) self.assertEqual( zaak.archiefactiedatum, date(2030, 5, 3) # 2020-05-03 + 10 years )
def setUpTestData(cls): cls.zaaktype = ZaakTypeFactory.create() cls.zaak = ZaakFactory.create(zaaktype=cls.zaaktype, closed=True) super().setUpTestData()