Exemple #1
0
    def test_get_detail_404(self):
        ZaakTypeFactory.create(catalogus=self.catalogus)

        url = get_operation_url('zaaktype_read', uuid=uuid.uuid4())

        response = self.client.get(url)

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

        resp_data = response.json()
        del resp_data['instance']
        self.assertEqual(
            resp_data, {
                'code':
                'not_found',
                'title':
                "Niet gevonden.",
                'status':
                404,
                'detail':
                "Niet gevonden.",
                'type':
                "http://testserver{}".format(
                    django_reverse('vng_api_common:error-detail',
                                   kwargs={'exception_class': 'NotFound'}))
            })
Exemple #2
0
    def test_filter_zaaktype_status_alles(self):
        ZaakTypeFactory.create(concept=True)
        ZaakTypeFactory.create(concept=False)
        zaaktype_list_url = get_operation_url('zaaktype_list')

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

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

        self.assertEqual(len(data), 2)
Exemple #3
0
    def test_pagination_page_param(self):
        ZaakTypeFactory.create_batch(2, concept=False)
        zaaktype_list_url = get_operation_url('zaaktype_list')

        response = self.client.get(zaaktype_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'])
Exemple #4
0
    def test_filter_zaaktype_status_definitief(self):
        zaaktype1 = ZaakTypeFactory.create(concept=True)
        zaaktype2 = ZaakTypeFactory.create(concept=False)
        zaaktype_list_url = get_operation_url('zaaktype_list')
        zaaktype2_url = get_operation_url('zaaktype_read', uuid=zaaktype2.uuid)

        response = self.client.get(zaaktype_list_url, {'status': 'definitief'})
        self.assertEqual(response.status_code, 200)

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

        self.assertEqual(len(data), 1)
        self.assertEqual(data[0]['url'], f'http://testserver{zaaktype2_url}')
Exemple #5
0
    def test_filter_identificatie(self):
        zaaktype1 = ZaakTypeFactory.create(concept=False,
                                           zaaktype_identificatie=123)
        zaaktype2 = ZaakTypeFactory.create(concept=False,
                                           zaaktype_identificatie=456)
        zaaktype_list_url = get_operation_url('zaaktype_list')
        zaaktype1_url = get_operation_url('zaaktype_read', uuid=zaaktype1.uuid)

        response = self.client.get(zaaktype_list_url, {'identificatie': 123})
        self.assertEqual(response.status_code, 200)

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

        self.assertEqual(len(data), 1)
        self.assertEqual(data[0]['url'], f'http://testserver{zaaktype1_url}')
Exemple #6
0
    def test_filter_trefwoorden(self):
        zaaktype1 = ZaakTypeFactory.create(
            concept=False, trefwoorden=['some', 'key', 'words'])
        zaaktype2 = ZaakTypeFactory.create(concept=False,
                                           trefwoorden=['other', 'words'])
        zaaktype_list_url = get_operation_url('zaaktype_list')
        zaaktype1_url = get_operation_url('zaaktype_read', uuid=zaaktype1.uuid)

        response = self.client.get(zaaktype_list_url, {'trefwoorden': 'key'})
        self.assertEqual(response.status_code, 200)

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

        self.assertEqual(len(data), 1)
        self.assertEqual(data[0]['url'], f'http://testserver{zaaktype1_url}')
Exemple #7
0
    def test_update_eigenschap_add_relation_to_non_concept_zaaktype_fails(self):
        zaaktype = ZaakTypeFactory.create(concept=False)
        zaaktype_url = reverse(zaaktype)
        eigenschap = EigenschapFactory.create()
        eigenschap_url = reverse(eigenschap)

        data = {
            "naam": "aangepast",
            "definitie": "test",
            "toelichting": "",
            "zaaktype": zaaktype_url,
            "specificatie": {
                "groep": "test",
                "formaat": "tekst",
                "lengte": "5",
                "kardinaliteit": "1",
                "waardenverzameling": [],
            },
        }

        response = self.client.put(eigenschap_url, data)

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

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], ZaakTypeConceptValidator.code)
Exemple #8
0
    def test_validate_wrong_resultaattypeomschrijving(self, mock_shape, mock_fetch):
        zaaktype = ZaakTypeFactory.create(concept=False)
        zaaktype_url = reverse('zaaktype-detail', kwargs={
            'uuid': zaaktype.uuid,
        })
        resultaattypeomschrijving_url = 'http://example.com/omschrijving/1'
        data = {
            'zaaktype': f'http://testserver{zaaktype_url}',
            'omschrijving': 'illum',
            'resultaattypeomschrijving': resultaattypeomschrijving_url,
            'selectielijstklasse': 'https://garcia.org/',
            'archiefnominatie': 'blijvend_bewaren',
            'archiefactietermijn': 'P10Y',
            'brondatumArchiefprocedure': {
                'afleidingswijze': BrondatumArchiefprocedureAfleidingswijze.afgehandeld,
                'einddatumBekend': False,
                'procestermijn': 'P10Y',
                'datumkenmerk': '',
                'objecttype': '',
                'registratie': '',
            }
        }

        with requests_mock.Mocker() as m:
            m.register_uri('GET', resultaattypeomschrijving_url, json={
                'omschrijving': 'test'
            })
            response = self.client.post(self.list_url, data)

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        error = get_validation_errors(response, 'resultaattypeomschrijving')
        self.assertEqual(error['code'], 'invalid-resource')
Exemple #9
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_conditional_get_stale(self):
        zaaktype = ZaakTypeFactory.create(with_etag=True)

        response = self.client.get(reverse(zaaktype),
                                   HTTP_IF_NONE_MATCH=f'"not-an-md5"')

        self.assertEqual(response.status_code, status.HTTP_200_OK)
Exemple #11
0
    def test_update_ziot_not_concept_informatieobjecttype(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = reverse(zaaktype)
        informatieobjecttype = InformatieObjectTypeFactory.create(
            catalogus=zaaktype.catalogus, concept=False)
        informatieobjecttype_url = reverse(informatieobjecttype)
        ziot = ZaakInformatieobjectTypeFactory.create(
            zaaktype=zaaktype, informatieobjecttype=informatieobjecttype)
        ziot_url = reverse(ziot)

        data = {
            "zaaktype": f"http://testserver{zaaktype_url}",
            "informatieobjecttype":
            f"http://testserver{informatieobjecttype_url}",
            "volgnummer": 13,
            "richting": RichtingChoices.inkomend,
        }

        response = self.client.put(ziot_url, data)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data["volgnummer"], 13)

        ziot.refresh_from_db()
        self.assertEqual(ziot.volgnummer, 13)
Exemple #12
0
    def test_update_ziot_not_concept_zaaktype_and_informatieobjecttype_fails(
            self):
        zaaktype = ZaakTypeFactory.create(concept=False)
        zaaktype_url = reverse(zaaktype)
        informatieobjecttype = InformatieObjectTypeFactory.create(
            catalogus=zaaktype.catalogus, concept=False)
        informatieobjecttype_url = reverse(informatieobjecttype)
        ziot = ZaakInformatieobjectTypeFactory.create(
            zaaktype=zaaktype, informatieobjecttype=informatieobjecttype)
        ziot_url = reverse(ziot)

        data = {
            "zaaktype": f"http://testserver{zaaktype_url}",
            "informatieobjecttype":
            f"http://testserver{informatieobjecttype_url}",
            "volgnummer": 13,
            "richting": RichtingChoices.inkomend,
        }

        response = self.client.put(ziot_url, data)

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

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], "non-concept-relation")
Exemple #13
0
    def test_create_eigenschap(self):
        zaaktype = ZaakTypeFactory.create(catalogus=self.catalogus)
        zaaktype_url = reverse("zaaktype-detail", kwargs={"uuid": zaaktype.uuid})
        eigenschap_list_url = reverse("eigenschap-list")
        data = {
            "naam": "Beoogd product",
            "definitie": "test",
            "toelichting": "",
            "zaaktype": "http://testserver{}".format(zaaktype_url),
            "specificatie": {
                "groep": "test",
                "formaat": "tekst",
                "lengte": "5",
                "kardinaliteit": "1",
                "waardenverzameling": [],
            },
        }

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

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

        eigenschap = Eigenschap.objects.get()

        self.assertEqual(eigenschap.eigenschapnaam, "Beoogd product")
        self.assertEqual(eigenschap.zaaktype, zaaktype)

        specificatie = eigenschap.specificatie_van_eigenschap
        self.assertEqual(specificatie.groep, "test")
        self.assertEqual(specificatie.formaat, "tekst")
        self.assertEqual(specificatie.lengte, "5")
        self.assertEqual(specificatie.kardinaliteit, "1")
        self.assertEqual(specificatie.waardenverzameling, [])
    def test_changing_besluittype_informatieobjecttype_m2m_invalidates_both_etags(
            self):
        """
        Changing the M2M should modify both resources, resulting in 200 for
        when both resources are retrieved
        """
        besluittype = BesluitTypeFactory.create()
        besluittype._etag = calculate_etag(besluittype)
        besluittype.save(update_fields=["_etag"])
        besluittype_etag = besluittype._etag

        zaaktype = ZaakTypeFactory.create()
        zaaktype._etag = calculate_etag(zaaktype)
        zaaktype.save(update_fields=["_etag"])
        zaaktype_etag = zaaktype._etag

        besluittype.zaaktypen.set([zaaktype])
        besluittype.save()

        response = self.client.get(reverse(besluittype),
                                   HTTP_IF_NONE_MATCH=f'"{besluittype_etag}"')
        self.assertEqual(response.status_code, status.HTTP_200_OK)

        response = self.client.get(reverse(zaaktype),
                                   HTTP_IF_NONE_MATCH=f'"{zaaktype_etag}"')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
    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())
Exemple #16
0
    def test_delete_zaaktype(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = get_operation_url('zaaktype_read', uuid=zaaktype.uuid)

        response = self.client.delete(zaaktype_url)

        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
        self.assertFalse(ZaakType.objects.filter(id=zaaktype.id))
Exemple #17
0
    def test_delete_zaaktype_fail_not_concept(self):
        zaaktype = ZaakTypeFactory.create(concept=False)
        zaaktype_url = get_operation_url('zaaktype_read', uuid=zaaktype.uuid)

        response = self.client.delete(zaaktype_url)

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

        data = response.json()
        self.assertEqual(data['detail'],
                         'Alleen concepten kunnen worden verwijderd.')
Exemple #18
0
    def setUp(self):
        super().setUp()

        self.zaaktype = ZaakTypeFactory.create(
            maakt_deel_uit_van=self.catalogus)

        specificatie = EigenschapSpecificatieFactory.create(
            kardinaliteit='1',
            lengte='1',
            groep='groep',
        )
        self.eigenschap_one = EigenschapFactory.create(
            eigenschapnaam='Beoogd product',
            is_van=self.zaaktype,
            specificatie_van_eigenschap=specificatie)

        referentie = EigenschapReferentieFactory.create(
            x_path_element='x_path_element',
            namespace='namespace',
        )
        self.eigenschap_two = EigenschapFactory.create(
            eigenschapnaam='Aard product',
            is_van=self.zaaktype,
            referentie_naar_eigenschap=referentie)

        self.eigenschap_list_url = reverse('api:eigenschap-list',
                                           kwargs={
                                               'version': self.API_VERSION,
                                               'catalogus_pk':
                                               self.catalogus.pk,
                                               'zaaktype_pk': self.zaaktype.pk
                                           })
        self.eigenschap_one_detail_url = reverse('api:eigenschap-detail',
                                                 kwargs={
                                                     'version':
                                                     self.API_VERSION,
                                                     'catalogus_pk':
                                                     self.catalogus.pk,
                                                     'zaaktype_pk':
                                                     self.zaaktype.pk,
                                                     'pk':
                                                     self.eigenschap_one.pk
                                                 })
        self.eigenschap_two_detail_url = reverse('api:eigenschap-detail',
                                                 kwargs={
                                                     'version':
                                                     self.API_VERSION,
                                                     'catalogus_pk':
                                                     self.catalogus.pk,
                                                     'zaaktype_pk':
                                                     self.zaaktype.pk,
                                                     'pk':
                                                     self.eigenschap_two.pk
                                                 })
Exemple #19
0
    def test_partial_update_eigenschap_fail_not_concept_zaaktype(self):
        zaaktype = ZaakTypeFactory.create(concept=False)
        eigenschap = EigenschapFactory.create(zaaktype=zaaktype)
        eigenschap_url = reverse(eigenschap)

        response = self.client.patch(eigenschap_url, {"naam": "aangepast"})

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

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], ZaakTypeConceptValidator.code)
Exemple #20
0
    def setUp(self):
        super().setUp()

        self.zaaktype = ZaakTypeFactory.create(catalogus=self.catalogus)

        self.zaaktype_list_url = get_operation_url(
            'zaaktype_list', catalogus_uuid=self.catalogus.uuid)
        self.zaaktype_detail_url = get_operation_url(
            'zaaktype_read',
            catalogus_uuid=self.catalogus.uuid,
            uuid=self.zaaktype.uuid)
Exemple #21
0
    def test_publish_zaaktype(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = get_operation_url('zaaktype_publish',
                                         uuid=zaaktype.uuid)

        response = self.client.post(zaaktype_url)

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

        zaaktype.refresh_from_db()

        self.assertEqual(zaaktype.concept, False)
    def test_no_changes_gives_304(self):
        """
        Because changes are made to the zaaktype, a code 200 should be
        returned
        """
        zaaktype = ZaakTypeFactory.create(toelichting="bla")
        zaaktype._etag = calculate_etag(zaaktype)
        zaaktype.save(update_fields=["_etag"])
        etag = zaaktype._etag

        response = self.client.get(reverse(zaaktype),
                                   HTTP_IF_NONE_MATCH=f'"{etag}"')
        self.assertEqual(response.status_code, status.HTTP_304_NOT_MODIFIED)
Exemple #23
0
    def test_overlap_open_end_date(self):
        ZaakTypeFactory.create(catalogus=self.catalogus,
                               zaaktype_identificatie=1,
                               datum_begin_geldigheid=date(2019, 1, 1),
                               datum_einde_geldigheid=None,
                               zaaktype_omschrijving="zaaktype")

        data = {
            "omschrijving": "zaaktype",
            "identificatie": 1,
            "catalogus": f"http://testserver{reverse(self.catalogus)}",
            "beginGeldigheid": "2019-02-01",
            "vertrouwelijkheidaanduiding":
            VertrouwelijkheidsAanduiding.openbaar,
            "doel": "doel",
            "aanleiding": "aanleiding",
            "indicatieInternOfExtern": "extern",
            "handelingInitiator": "aanvragen",
            "onderwerp": "dummy",
            "handelingBehandelaar": "behandelen",
            "doorlooptijd": "P7D",
            "opschortingEnAanhoudingMogelijk": False,
            "verlengingMogelijk": False,
            "publicatieIndicatie": False,
            "productenOfDiensten": [],
            "referentieproces": {
                "naam": "ref",
            },
            "besluittypen": [],
            "gerelateerdeZaaktypen": [],
            "versiedatum": "2019-02-01",
        }

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

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

        error = get_validation_errors(response, "beginGeldigheid")
        self.assertEqual(error["code"], "overlap")
Exemple #24
0
    def test_ophalen_mogelijke_behandelaars(self):
        """
        Toon aan dat het mogelijk is om een lijst van mogelijke behandelaars
        op te halen.

        Zie https://github.com/VNG-Realisatie/gemma-zaken/issues/182#issuecomment-408899919
        voor context
        """
        zaaktype = ZaakTypeFactory.create()
        roltype_behandelaar = RolTypeFactory.create(
            zaaktype=zaaktype,
            omschrijving_generiek=RolOmschrijving.behandelaar,
        )
        MogelijkeBetrokkeneFactory.create_batch(2, roltype=roltype_behandelaar)

        # unrelated, but same ZAAKTYPE, should not show up
        MogelijkeBetrokkeneFactory.create(
            roltype__zaaktype=zaaktype,
            roltype__omschrijving_generiek=RolOmschrijving.adviseur
        )

        url = get_operation_url(
            'roltype_list',
            catalogus_uuid=zaaktype.catalogus.uuid,
            zaaktype_uuid=zaaktype.uuid
        )

        response = self.client.get(url, {
            'omschrijvingGeneriek': RolOmschrijving.behandelaar,
        })

        self.assertEqual(response.status_code, 200)
        response_data = response.json()

        self.assertEqual(len(response_data), 1)

        self.assertResponseTypes(response_data[0], (
            ('url', str),
            ('zaaktype', str),
            ('omschrijving', str),
            ('omschrijvingGeneriek', str),
            ('mogelijkeBetrokkenen', list),
        ))

        mogelijke_betrokkenen = response_data[0]['mogelijkeBetrokkenen']
        self.assertEqual(len(mogelijke_betrokkenen), 2)

        self.assertResponseTypes(mogelijke_betrokkenen[0], (
            ('betrokkene', str),
            ('betrokkeneType', str),
        ))
Exemple #25
0
    def test_create_resultaattype(self, mock_shape, mock_fetch):
        zaaktype = ZaakTypeFactory.create(
            selectielijst_procestype=PROCESTYPE_URL,
        )
        zaaktype_url = reverse('zaaktype-detail', kwargs={
            'uuid': zaaktype.uuid,
        })
        resultaattypeomschrijving_url = 'http://example.com/omschrijving/1'
        data = {
            'zaaktype': f'http://testserver{zaaktype_url}',
            'omschrijving': 'illum',
            'resultaattypeomschrijving': resultaattypeomschrijving_url,
            'selectielijstklasse': SELECTIELIJSTKLASSE_URL,
            'archiefnominatie': 'blijvend_bewaren',
            'archiefactietermijn': 'P10Y',
            'brondatumArchiefprocedure': {
                'afleidingswijze': BrondatumArchiefprocedureAfleidingswijze.afgehandeld,
                'einddatumBekend': False,
                'procestermijn': 'P10Y',
                'datumkenmerk': '',
                'objecttype': '',
                'registratie': '',
            }
        }

        responses = {
            SELECTIELIJSTKLASSE_URL: {
                'url': SELECTIELIJSTKLASSE_URL,
                'procesType': PROCESTYPE_URL,
                'procestermijn': Procestermijn.nihil,
            },
        }

        with mock_client(responses):
            with requests_mock.Mocker() as m:
                m.register_uri('GET', resultaattypeomschrijving_url, json={
                    'omschrijving': 'test'
                })
                response = self.client.post(self.list_url, data)

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

        resultaattype = ResultaatType.objects.get()

        self.assertEqual(resultaattype.omschrijving_generiek, 'test')
        self.assertEqual(resultaattype.zaaktype, zaaktype)
        self.assertEqual(
            resultaattype.brondatum_archiefprocedure_afleidingswijze,
            BrondatumArchiefprocedureAfleidingswijze.afgehandeld
        )
Exemple #26
0
    def test_partial_update_statustype_add_relation_to_non_concept_zaaktype_fails(
            self):
        zaaktype = ZaakTypeFactory.create(concept=False)
        zaaktype_url = reverse(zaaktype)
        statustype = StatusTypeFactory.create()
        statustype_url = reverse(statustype)

        response = self.client.patch(statustype_url,
                                     {"zaaktype": zaaktype_url})

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

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], ZaakTypeConceptValidator.code)
Exemple #27
0
    def test_partial_update_statustype(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = reverse(zaaktype)
        statustype = StatusTypeFactory.create(zaaktype=zaaktype)
        statustype_url = reverse(statustype)

        response = self.client.patch(statustype_url,
                                     {"omschrijving": "aangepast"})

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data["omschrijving"], "aangepast")

        statustype.refresh_from_db()
        self.assertEqual(statustype.statustype_omschrijving, "aangepast")
Exemple #28
0
    def test_partial_update_ziot_informatieobjecttype(self):
        zaaktype = ZaakTypeFactory.create()
        ziot = ZaakInformatieobjectTypeFactory.create(zaaktype=zaaktype)
        ziot_url = reverse(ziot)
        informatieobjecttype = InformatieObjectTypeFactory.create()
        informatieobjecttype_url = reverse(informatieobjecttype)

        response = self.client.patch(
            ziot_url, {"informatieobjecttype": informatieobjecttype_url})

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

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], "relations-incorrect-catalogus")
Exemple #29
0
    def test_ophalen_servicenorm_doorlooptijd(self):
        zaaktype = ZaakTypeFactory.create()
        url = get_operation_url(
            "zaaktype_read", catalogus_uuid=zaaktype.catalogus.uuid, uuid=zaaktype.uuid
        )

        response = self.client.get(url)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()
        self.assertResponseTypes(
            response_data, (("doorlooptijd", str), ("servicenorm", type(None)))
        )

        self.assertEqual(response_data["doorlooptijd"], "P30D")
Exemple #30
0
    def test_partial_update_ziot(self):
        zaaktype = ZaakTypeFactory.create()
        informatieobjecttype = InformatieObjectTypeFactory.create(
            catalogus=zaaktype.catalogus)
        ziot = ZaakInformatieobjectTypeFactory.create(
            zaaktype=zaaktype, informatieobjecttype=informatieobjecttype)
        ziot_url = reverse(ziot)

        response = self.client.patch(ziot_url, {"volgnummer": 12})

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data["volgnummer"], 12)

        ziot.refresh_from_db()
        self.assertEqual(ziot.volgnummer, 12)