def test_send_notif_delete_resultaat(self, mock_client): """ Check if notifications will be send when resultaat is deleted """ client = mock_client.return_value besluit = BesluitFactory.create() besluit_url = get_operation_url("besluit_read", uuid=besluit.uuid) besluittype_url = reverse(besluit.besluittype) bio = BesluitInformatieObjectFactory.create(besluit=besluit) bio_url = get_operation_url("besluitinformatieobject_delete", uuid=bio.uuid) response = self.client.delete(bio_url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT, response.data) client.create.assert_called_once_with( "notificaties", { "kanaal": "besluiten", "hoofdObject": f"http://testserver{besluit_url}", "resource": "besluitinformatieobject", "resourceUrl": f"http://testserver{bio_url}", "actie": "destroy", "aanmaakdatum": "2018-09-07T00:00:00Z", "kenmerken": { "verantwoordelijkeOrganisatie": besluit.verantwoordelijke_organisatie, "besluittype": f"http://testserver{besluittype_url}", }, }, )
def test_besluit_create_fail_besluittype_max_length(self): zaak = ZaakFactory.create(zaaktype__concept=False) zaak_url = reverse(zaak) url = get_operation_url("besluit_create") response = self.client.post( url, { "verantwoordelijke_organisatie": "517439943", # RSIN "identificatie": "123123", "besluittype": f"http://testserver/{'x'*1000}", "zaak": f"http://testserver{zaak_url}", "datum": "2018-09-06", "toelichting": "Vergunning verleend.", "ingangsdatum": "2018-10-01", "vervaldatum": "2018-11-01", "vervalreden": VervalRedenen.tijdelijk, }, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST, response.data) error = get_validation_errors(response, "besluittype") self.assertEqual(error["code"], "max_length")
def test_pagination_page_param(self): BesluitFactory.create_batch(2) besluit_list_url = get_operation_url("besluit_list") response = self.client.get(besluit_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_pagination_default(self): """ Deleting a Besluit causes all related objects to be deleted as well. """ BesluitFactory.create_batch(2) besluit_list_url = get_operation_url("besluit_list") response = self.client.get(besluit_list_url) 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_delete_besluit_cascades_properly(self): """ Deleting a Besluit causes all related objects to be deleted as well. """ besluit = BesluitFactory.create() BesluitInformatieObjectFactory.create(besluit=besluit) besluit_delete_url = get_operation_url("besluit_delete", uuid=besluit.uuid) response = self.client.delete(besluit_delete_url) self.assertEqual( response.status_code, status.HTTP_204_NO_CONTENT, response.data ) self.assertFalse(Besluit.objects.exists()) self.assertFalse(BesluitInformatieObject.objects.exists())
def test_opvragen_informatieobjecten_besluit(self): besluit1, besluit2 = BesluitFactory.create_batch(2) besluit1_uri = reverse(besluit1) besluit2_uri = reverse(besluit2) BesluitInformatieObjectFactory.create_batch(3, besluit=besluit1) BesluitInformatieObjectFactory.create_batch(2, besluit=besluit2) base_uri = get_operation_url("besluitinformatieobject_list") url1 = f"{base_uri}?besluit={besluit1_uri}" response1 = self.client.get(url1) self.assertEqual(len(response1.data), 3) url2 = f"{base_uri}?besluit={besluit2_uri}" response2 = self.client.get(url2) self.assertEqual(len(response2.data), 2)
def test_send_notif_create_besluit(self, mock_client, *mocks): """ Check if notifications will be send when Besluit is created """ client = mock_client.return_value besluittype = BesluitTypeFactory.create() besluittype_url = reverse(besluittype) url = get_operation_url("besluit_create") data = { "verantwoordelijkeOrganisatie": "517439943", # RSIN "besluittype": f"http://testserver{besluittype_url}", "identificatie": "123123", "datum": "2018-09-06", "toelichting": "Vergunning verleend.", "ingangsdatum": "2018-10-01", "vervaldatum": "2018-11-01", "vervalreden": VervalRedenen.tijdelijk, } response = self.client.post(url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) data = response.json() client.create.assert_called_once_with( "notificaties", { "kanaal": "besluiten", "hoofdObject": data["url"], "resource": "besluit", "resourceUrl": data["url"], "actie": "create", "aanmaakdatum": "2018-09-07T00:00:00Z", "kenmerken": { "verantwoordelijkeOrganisatie": "517439943", "besluittype": f"http://testserver{besluittype_url}", }, }, )
def test_us162_voeg_besluit_toe_aan_zaak(self): zaak = ZaakFactory.create(zaaktype__concept=False) zaak_url = reverse(zaak) besluittype = BesluitTypeFactory.create() besluittype_url = reverse(besluittype) besluittype.zaaktypes.add(zaak.zaaktype) io = EnkelvoudigInformatieObjectFactory.create( informatieobjecttype__concept=False) io_url = reverse(io) besluittype.informatieobjecttypes.add(io.informatieobjecttype) with self.subTest(part="besluit_create"): url = get_operation_url("besluit_create") response = self.client.post( url, { "verantwoordelijke_organisatie": "517439943", # RSIN "identificatie": "123123", "besluittype": f"http://testserver{besluittype_url}", "zaak": f"http://testserver{zaak_url}", "datum": "2018-09-06", "toelichting": "Vergunning verleend.", "ingangsdatum": "2018-10-01", "vervaldatum": "2018-11-01", "vervalreden": VervalRedenen.tijdelijk, }, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) self.assertResponseTypes( response.data, ( ("url", str), ("identificatie", str), ("verantwoordelijke_organisatie", str), ("besluittype", str), ("zaak", str), ("datum", str), ("toelichting", str), ("bestuursorgaan", str), ("ingangsdatum", str), ("vervaldatum", str), ("vervalreden", str), ("publicatiedatum", type(None)), ("verzenddatum", type(None)), ("uiterlijke_reactiedatum", type(None)), ), ) self.assertEqual(Besluit.objects.count(), 1) besluit = Besluit.objects.get() self.assertEqual(besluit.verantwoordelijke_organisatie, "517439943") self.assertEqual(besluit.besluittype, besluittype) self.assertEqual(besluit.zaak, zaak) self.assertEqual(besluit.datum, date(2018, 9, 6)) self.assertEqual(besluit.toelichting, "Vergunning verleend.") self.assertEqual(besluit.ingangsdatum, date(2018, 10, 1)) self.assertEqual(besluit.vervaldatum, date(2018, 11, 1)) self.assertEqual(besluit.vervalreden, VervalRedenen.tijdelijk) with self.subTest(part="besluitinformatieobject_create"): url = get_operation_url("besluitinformatieobject_create") response = self.client.post( url, { "besluit": reverse(besluit), "informatieobject": f"http://testserver{io_url}", }, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) self.assertResponseTypes(response.data, (("url", str), ("informatieobject", str))) self.assertEqual(besluit.besluitinformatieobject_set.count(), 1) self.assertEqual( besluit.besluitinformatieobject_set.get().informatieobject, io.canonical)