Beispiel #1
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_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())
Beispiel #3
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
                                                 })
Beispiel #4
0
    def test_update_eigenschap(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = reverse(zaaktype)
        specificatie = EigenschapSpecificatieFactory.create()
        eigenschap = EigenschapFactory.create(specificatie_van_eigenschap=specificatie)
        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_200_OK)
        self.assertEqual(response.data["naam"], "aangepast")

        eigenschap.refresh_from_db()
        self.assertEqual(eigenschap.eigenschapnaam, "aangepast")

        specificatie = EigenschapSpecificatie.objects.get()
        self.assertEqual(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, [])
Beispiel #5
0
    def test_partial_update_eigenschap_specificatie(self):
        zaaktype = ZaakTypeFactory.create()
        zaaktype_url = reverse(zaaktype)
        specificatie = EigenschapSpecificatieFactory.create()
        eigenschap = EigenschapFactory.create()
        eigenschap_url = reverse(eigenschap)

        data = {
            "naam": "aangepast",
            "specificatie": {
                "groep": "test",
            },
        }

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

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

        eigenschap.refresh_from_db()
        self.assertEqual(eigenschap.eigenschapnaam, "aangepast")

        specificatie = eigenschap.specificatie_van_eigenschap
        self.assertEqual(specificatie.groep, "test")
    def test_list_eigenschappen(self):
        zaaktype = ZaakTypeFactory.create()

        eigenschap1 = EigenschapFactory.create(
            eigenschapnaam='objecttype',
            is_van=zaaktype,
            specificatie_van_eigenschap=EigenschapSpecificatieFactory.create(
                formaat=FormaatChoices.tekst,
                lengte=255,
                kardinaliteit='1',
                waardenverzameling=['boot', 'zwerfvuil']))

        EigenschapFactory.create(
            eigenschapnaam='boot.naam',
            is_van=zaaktype,
            specificatie_van_eigenschap=EigenschapSpecificatieFactory.create(
                groep='boot',
                formaat=FormaatChoices.tekst,
                lengte=255,
                kardinaliteit='1',
            ))

        EigenschapFactory.create(
            eigenschapnaam='boot.rederij',
            is_van=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()

        self.assertEqual(len(response_data), 3)
        self.assertResponseTypes(
            response_data[0], {
                ('url', str),
                ('naam', str),
                ('definitie', str),
                ('specificatie', dict),
                ('toelichting', str),
                ('ingangsdatumObject', str),
                ('einddatumObject', type(None)),
                ('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':
                '',
                'einddatumObject':
                None,
                'ingangsdatumObject':
                zaaktype.datum_begin_geldigheid.strftime("%Y-%m-%d"),
                'zaaktype':
                f'http://testserver{zaaktype_url}',
                'toelichting':
                '',
                'specificatie': {
                    'formaat': FormaatChoices.tekst,
                    'groep': '',
                    'kardinaliteit': '1',
                    'lengte': '255',
                    'waardenverzameling': [
                        'boot',
                        'zwerfvuil',
                    ]
                }
            })
Beispiel #7
0
    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"],
                },
            },
        )