def test_ophalen_alle_betrokkenen(self):
        """
        Test dat alle betrokkenen kunnen opgehaald worden, onafhankelijk van rol.

        Zie https://github.com/VNG-Realisatie/gemma-zaakregistratiecomponent/pull/9#issuecomment-407882637
        """
        zaak1 = ZaakFactory.create()
        rollen1 = RolFactory.create_batch(3, zaak=zaak1)
        rol2 = RolFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak1.uuid)
        rollen_list_url = get_operation_url('rol_list')

        response = self.client.get(rollen_list_url, {
            'zaak': f"http://testserver{zaak_url}",
        })

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()

        self.assertEqual(len(response_data), 3)

        expected_urls = {
            f"http://testserver{get_operation_url('rol_read', uuid=rol.uuid)}"
            for rol in rollen1
        }

        received_urls = {rol['url'] for rol in response_data}
        self.assertEqual(received_urls, expected_urls)

        rol2_url = f"http://testserver{get_operation_url('rol_read', uuid=rol2.uuid)}"
        self.assertNotIn(rol2_url, received_urls)
    def test_zet_adres_binnenland(self):
        """
        Het adres van de melding moet in de zaak beschikbaar zijn.
        """
        url = get_operation_url('zaakobject_create')
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'object': OBJECT_MET_ADRES,
            'type': 'VerblijfsObject',
            'relatieomschrijving': 'Het adres waar de overlast vastgesteld werd.',
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        zaakobject = ZaakObject.objects.get()
        self.assertEqual(zaakobject.zaak, zaak)
        detail_url = get_operation_url('zaakobject_read', uuid=zaakobject.uuid)
        self.assertEqual(
            response_data,
            {
                'url': f"http://testserver{detail_url}",
                'zaak': f"http://testserver{zaak_url}",
                'object': OBJECT_MET_ADRES,
                'type': 'VerblijfsObject',
                'relatieomschrijving': 'Het adres waar de overlast vastgesteld werd.',
            }
        )
    def test_zet_zaakstatus(self):
        """
        De actuele status van een zaak moet gezet worden bij het aanmaken
        van de zaak.
        """
        url = get_operation_url('status_create')
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'statusType': STATUS_TYPE,
            'datumStatusGezet': isodatetime(2018, 6, 6, 17, 23, 43),
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        status_ = Status.objects.get()
        self.assertEqual(status_.zaak, zaak)
        detail_url = get_operation_url('status_read', uuid=status_.uuid)
        self.assertEqual(
            response_data,
            {
                'url': f"http://testserver{detail_url}",
                'zaak': f"http://testserver{zaak_url}",
                'statusType': STATUS_TYPE,
                'datumStatusGezet': '2018-06-06T17:23:43Z',  # UTC
                'statustoelichting': '',
            }
        )
    def test_update_zaak_with_kenmerken(self):
        zaak = ZaakFactory.create(zaaktype=ZAAKTYPE)
        kenmerk_1 = zaak.zaakkenmerk_set.create(kenmerk='kenmerk 1',
                                                bron='bron 1')
        self.assertEqual(zaak.zaakkenmerk_set.count(), 1)

        zaak_read_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        response = self.client.get(zaak_read_url, HTTP_ACCEPT_CRS='EPSG:4326')

        data = response.json()

        zaak_update_url = get_operation_url('zaak_update', uuid=zaak.uuid)
        data['kenmerken'].append({
            'kenmerk': 'kenmerk 2',
            'bron': 'bron 2',
        })

        response = self.client.put(zaak_update_url,
                                   data,
                                   HTTP_ACCEPT_CRS='EPSG:4326')
        self.assertEqual(response.status_code, status.HTTP_200_OK,
                         response.data)

        zaak = Zaak.objects.get(identificatie=zaak.identificatie)
        self.assertEqual(zaak.zaakkenmerk_set.count(), 2)

        # All objects are deleted, and (re)created.
        self.assertFalse(
            kenmerk_1.pk in zaak.zaakkenmerk_set.values_list('pk', flat=True))
    def test_create_klantcontact(self):
        url = get_operation_url('klantcontact_create')
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'datumtijd': isodatetime(2018, 6, 11, 13, 47, 55),
            'kanaal': 'Webformulier',
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        klantcontact = KlantContact.objects.get()
        self.assertIsInstance(klantcontact.identificatie, str)
        self.assertNotEqual(klantcontact.identificatie, '')
        self.assertEqual(klantcontact.zaak, zaak)
        detail_url = get_operation_url('klantcontact_read', uuid=klantcontact.uuid)
        self.assertEqual(
            response_data,
            {
                'url': f"http://testserver{detail_url}",
                'zaak': f"http://testserver{zaak_url}",
                'identificatie': klantcontact.identificatie,
                'datumtijd': '2018-06-11T13:47:55Z',
                'kanaal': 'Webformulier',
            }
        )
    def setUp(self):
        super().setUp()

        self.catalogus = CatalogusFactory.create(domein='ABCDE', rsin='000000001')

        self.catalogus_list_url = get_operation_url('catalogus_list')
        self.catalogus_detail_url = get_operation_url('catalogus_read', uuid=self.catalogus.uuid)
    def test_zet_eigenschappen(self):
        zaak = ZaakFactory.create()
        url = get_operation_url('zaakeigenschap_create', zaak_uuid=zaak.uuid)
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'eigenschap': EIGENSCHAP_OBJECTTYPE,
            'waarde': 'overlast_water'
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        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}",
                'zaak': f"http://testserver{zaak_url}",
                'eigenschap': EIGENSCHAP_OBJECTTYPE,
                'waarde': 'overlast_water'
            })
    def test_zet_behandelaar(self):
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        url = get_operation_url('rol_create')

        response = self.client.post(
            url, {
                'zaak': zaak_url,
                'betrokkene': WATERNET,
                'betrokkeneType': RolTypes.organisatorische_eenheid,
                'rolomschrijving': RolOmschrijving.behandelaar,
                'roltoelichting':
                'Verantwoordelijke behandelaar voor de melding',
            })

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

        response_data = response.json()
        self.assertIn('url', response_data)
        del response_data['url']
        self.assertEqual(
            response_data, {
                'zaak': f'http://testserver{zaak_url}',
                'betrokkene': WATERNET,
                'betrokkeneType': RolTypes.organisatorische_eenheid,
                'rolomschrijving': RolOmschrijving.behandelaar,
                'roltoelichting':
                'Verantwoordelijke behandelaar voor de melding',
            })
    def test_meerdere_coordinatoren_verboden(self):
        """
        Uit RGBZ 2.0, deel 2, Attribuutsoort Rolomschrijving (bij relatieklasse
        ROL):

        Bij een ZAAK kan maximaal één ROL met als Rolomschrijving generiek
        'Initiator' voor komen.
        """
        zaak = ZaakFactory.create()
        RolFactory.create(zaak=zaak,
                          betrokkene_type=RolTypes.natuurlijk_persoon,
                          rolomschrijving=RolOmschrijving.zaakcoordinator)
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        url = get_operation_url('rol_create')

        response = self.client.post(
            url, {
                'zaak': zaak_url,
                'betrokkene': WATERNET,
                'betrokkeneType': RolTypes.organisatorische_eenheid,
                'rolomschrijving': RolOmschrijving.zaakcoordinator,
                'roltoelichting': 'Melder',
            })

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
    def test_zet_stadsdeel(self):
        url = get_operation_url('zaakobject_create')
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'object': STADSDEEL,
            'type': 'VerblijfsObject',
            'relatieomschrijving': 'Afgeleid gebied',
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        zaakobject = ZaakObject.objects.get()
        self.assertEqual(zaakobject.zaak, zaak)
        detail_url = get_operation_url('zaakobject_read', uuid=zaakobject.uuid)
        self.assertEqual(
            response_data,
            {
                'url': f"http://testserver{detail_url}",
                'zaak': f"http://testserver{zaak_url}",
                'object': STADSDEEL,
                'type': 'VerblijfsObject',
                'relatieomschrijving': 'Afgeleid gebied',
            }
        )
    def test_zet_verantwoordelijk(self):
        url = get_operation_url('rol_create')
        betrokkene = 'https://example.com/orc/api/v1/vestigingen/waternet'
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        data = {
            'zaak': zaak_url,
            'betrokkene': betrokkene,
            'betrokkeneType': 'Vestiging',
            'rolomschrijving': 'Behandelaar',
            'roltoelichting': 'Baggeren van gracht',
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
        response_data = response.json()
        rol = Rol.objects.get()
        self.assertEqual(rol.zaak, zaak)
        self.assertEqual(rol.betrokkene, betrokkene)
        detail_url = get_operation_url('rol_read', uuid=rol.uuid)
        self.assertEqual(
            response_data,
            {
                'url': f"http://testserver{detail_url}",
                'zaak': f"http://testserver{zaak_url}",
                'betrokkene': betrokkene,
                'betrokkeneType': 'Vestiging',
                'rolomschrijving': 'Behandelaar',
                'roltoelichting': 'Baggeren van gracht',
            }
        )
    def test_anoniem_binnen_ams_centrum_district(self):
        """
        Test dat zaken binnen een bepaald gebied kunnen opgevraagd worden.
        """
        # in district
        zaak = ZaakFactory.create(zaakgeometrie=Point(4.887990,
                                                      52.377595))  # LONG LAT
        # outside of district
        ZaakFactory.create(zaakgeometrie=Point(4.905650, 52.357621))
        # no geo set
        ZaakFactory.create()

        url = get_operation_url('zaak__zoek')

        response = self.client.post(url, {
            'zaakgeometrie': {
                'within': {
                    'type': 'Polygon',
                    'coordinates': [POLYGON_AMSTERDAM_CENTRUM]
                }
            }
        },
                                    HTTP_ACCEPT_CRS='EPSG:4326')

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

        response_data = response.json()
        self.assertEqual(len(response_data), 1)
        detail_url = get_operation_url('zaak_read', uuid=zaak.uuid)
        self.assertEqual(response_data[0]['url'],
                         f"http://testserver{detail_url}")
Beispiel #13
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)
    def setUp(self):
        super().setUp()

        self.informatieobjecttype = InformatieObjectTypeFactory.create(
            catalogus=self.catalogus,
            zaaktypes=None,
            model=['http://www.example.com'],
            informatieobjecttypetrefwoord=['abc', 'def'])

        self.informatieobjecttype_list_url = get_operation_url(
            'informatieobjecttype_list', catalogus_uuid=self.catalogus.uuid)
        self.informatieobjecttype_detail_url = get_operation_url(
            'informatieobjecttype_read',
            catalogus_uuid=self.catalogus.uuid,
            uuid=self.informatieobjecttype.uuid)
 def registreer_klantcontact(self):
     url = get_operation_url('klantcontact_create')
     self.client.post(url, {
         'zaak': self.references['zaak_url'],
         'datumtijd': self.data['datetime'],
         'kanaal': self.data['source'],
     })
    def test_create_zaak_with_kenmerken(self):
        zaak_create_url = get_operation_url('zaak_create')
        data = {
            'zaaktype':
            ZAAKTYPE,
            'bronorganisatie':
            '517439943',
            'verantwoordelijkeOrganisatie':
            VERANTWOORDELIJKE_ORGANISATIE,
            'identificatie':
            'AVG-inzageverzoek-1',
            'omschrijving':
            'Dagontheffing - Station Haarlem',
            'toelichting':
            'Het betreft een clown met grote trom, mondharmonica en cymbalen.',
            'startdatum':
            '2018-08-15',
            'kenmerken': [{
                'kenmerk': 'kenmerk 1',
                'bron': 'bron 1',
            }, {
                'kenmerk': 'kenmerk 2',
                'bron': 'bron 2',
            }]
        }

        response = self.client.post(zaak_create_url,
                                    data,
                                    HTTP_ACCEPT_CRS='EPSG:4326')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                         response.data)

        zaak = Zaak.objects.get(identificatie=data['identificatie'])
        self.assertEqual(zaak.zaakkenmerk_set.count(), 2)
Beispiel #17
0
    def test_create_aanvraag(self):
        """
        Maak een zaak voor een aanvraag.
        """
        zaak_create_url = get_operation_url('zaak_create')
        data = {
            'zaaktype': ZAAKTYPE,
            'bronorganisatie': '517439943',
            'verantwoordelijkeOrganisatie': VERANTWOORDELIJKE_ORGANISATIE,
            'identificatie': 'HLM-straatartiest-42',
            'omschrijving': 'Dagontheffing - Station Haarlem',
            'toelichting':
            'Het betreft een clown met grote trom, mondharmonica en cymbalen.',
            'startdatum': '2018-08-15',
        }

        # aanmaken zaak
        response = self.client.post(zaak_create_url,
                                    data,
                                    HTTP_ACCEPT_CRS='EPSG:4326')

        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['startdatum'], '2018-08-15')
Beispiel #18
0
    def test_create_enkelvoudiginformatieobject(self):
        """
        Registreer een ENKELVOUDIGINFORMATIEOBJECT
        """
        url = get_operation_url('enkelvoudiginformatieobject_create')
        data = {
            'identificatie': 'AMS20180701001',
            'creatiedatum': '2018-07-01',
            'titel': 'text_extra.txt',
            'auteur': 'ANONIEM',
            'formaat': 'text/plain',
            'taal': 'dut',
            'inhoud':
            base64.b64encode(b'Extra tekst in bijlage').decode('utf-8'),
            'informatieobjecttype':
            'https://example.com/ztc/api/v1/catalogus/1/informatieobjecttype/1',
            'vertrouwelijkaanduiding': VertrouwelijkheidsAanduiding.openbaar
        }

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

        self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                         response.data)
        data = response.json()
        self.assertIn('identificatie', data)

        eio = EnkelvoudigInformatieObject.objects.get()
        self.assertEqual(eio.identificatie, 'AMS20180701001')
        self.assertEqual(eio.creatiedatum, date(2018, 7, 1))

        # should be a URL
        download_url = urlparse(response.data['inhoud'])
        self.assertTrue(download_url.path.startswith(settings.MEDIA_URL))
        self.assertTrue(download_url.path.endswith('.bin'))
    def test_filter_ook_zaaktype(self):

        # both in district
        ZaakFactory.create(zaakgeometrie=Point(4.887990, 52.377595),
                           zaaktype='https://example.com/api/v1/zaaktype/1')
        ZaakFactory.create(zaakgeometrie=Point(4.887990, 52.377595),
                           zaaktype='https://example.com/api/v1/zaaktype/2')

        url = get_operation_url('zaak__zoek')

        response = self.client.post(
            url, {
                'zaakgeometrie': {
                    'within': {
                        'type': 'Polygon',
                        'coordinates': [POLYGON_AMSTERDAM_CENTRUM]
                    }
                },
                'zaaktype': 'https://example.com/api/v1/zaaktype/1'
            },
            HTTP_ACCEPT_CRS='EPSG:4326')

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

        response_data = response.json()
        self.assertEqual(len(response_data), 1)
    def test_is_eindstatus(self):
        zaaktype = ZaakTypeFactory.create()

        rol_type = RolTypeFactory.create(zaaktype=zaaktype)

        status_type_1 = StatusTypeFactory.create(zaaktype=zaaktype,
                                                 roltypen=[
                                                     rol_type,
                                                 ],
                                                 statustypevolgnummer=1)
        status_type_2 = StatusTypeFactory.create(zaaktype=zaaktype,
                                                 roltypen=[
                                                     rol_type,
                                                 ],
                                                 statustypevolgnummer=2)

        # Volgnummer 1
        url = get_operation_url(
            'statustype_read',
            catalogus_uuid=zaaktype.catalogus.uuid,
            zaaktype_uuid=zaaktype.uuid,
            uuid=status_type_1.uuid,
        )

        response = self.client.get(url)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()

        self.assertFalse(response_data['isEindstatus'])

        # Volgnummer 2
        url = get_operation_url('statustype_read',
                                catalogus_uuid=zaaktype.catalogus.uuid,
                                zaaktype_uuid=zaaktype.uuid,
                                uuid=status_type_2.uuid)

        response = self.client.get(url)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()

        self.assertTrue(response_data['isEindstatus'])
    def test_create_zaak_zonder_bronorganisatie(self):
        url = get_operation_url('zaak_create')
        data = {
            'zaaktype': ZAAKTYPE,
            'registratiedatum': '2018-06-11',
        }

        response = self.client.post(url, data, HTTP_ACCEPT_CRS='EPSG:4326')

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        error = get_validation_errors(response, 'bronorganisatie')
        self.assertEqual(error['code'], 'required')
 def registreer_domein_data(self):
     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': EIGENSCHAP_OBJECTTYPE,
         'waarde': 'overlast_water',
     })
     self.client.post(url, {
         'zaak': self.references['zaak_url'],
         'eigenschap': EIGENSCHAP_NAAM_BOOT,
         'waarde': TEST_DATA['waternet_naam_boot'],
     })
Beispiel #23
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),
        ))
    def test_nested_resources(self):
        """DSO: API-09 (nested resources)

        A ``ZaakType`` object can only be part of a ``Catalogus`` object.
        Hence, it should be nested under the ``catalogussen`` resource:
        ``/api/v1/catalogussen/{uuid}/zaaktypen``.
        """
        zaaktype = ZaakTypeFactory.create(catalogus=self.catalogus)
        kwargs = {'catalogus_uuid': self.catalogus.uuid, 'uuid': zaaktype.uuid}
        zaaktype_detail_url = get_operation_url('zaaktype_read', **kwargs)

        self.assertEqual(
            zaaktype_detail_url,
            '/api/v1/catalogussen/{catalogus_uuid}/zaaktypen/{uuid}'.format(
                **kwargs))
    def test_upload_image(self):
        url = get_operation_url('enkelvoudiginformatieobject_create')

        # create dummy image in memory
        image = Image.new('RGB', (1, 1), 'red')
        image_io = BytesIO()
        image.save(image_io, format='JPEG')

        image_data = base64.b64encode(image_io.getvalue())

        data = {
            'inhoud':
            image_data.decode('utf-8'),
            'bronorganisatie':
            '715832694',
            'taal':
            'dut',
            'creatiedatum':
            '2018-07-30',
            'titel':
            'bijlage.jpg',
            'vertrouwelijkaanduiding':
            VertrouwelijkheidsAanduiding.openbaar,
            'auteur':
            'John Doe',
            'informatieobjecttype':
            'https://example.com/ztc/api/v1/catalogus/1/informatieobjecttype/1',
        }

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

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

        response_data = response.json()
        self.assertIn('identificatie', response_data)

        self.assertResponseTypes(response_data, (
            ('url', str),
            ('inhoud', str),
            ('bronorganisatie', str),
            ('taal', str),
            ('creatiedatum', str),
            ('titel', str),
            ('vertrouwelijkaanduiding', str),
            ('auteur', str),
            ('informatieobjecttype', str),
        ))
    def zet_statussen(self):
        status_create_url = get_operation_url('status_create')

        created = parser.parse(self.data['datetime'])

        self.client.post(status_create_url, {
            'zaak': self.references['zaak_url'],
            'statusType': STATUS_TYPE,
            'datumStatusGezet': created.isoformat(),
        })

        self.client.post(status_create_url, {
            'zaak': self.references['zaak_url'],
            'statusType': STATUS_TYPE_OVERLAST_GECONSTATEERD,
            'datumStatusGezet': parser.parse(self.data['datetime_overlast']).isoformat(),
        })
Beispiel #27
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')
    def test_informatieobjecttype_filter(self):
        zaak_url = 'http://www.example.com/zrc/api/v1/zaken/1'

        ObjectInformatieObjectFactory.create_batch(2, is_zaak=True, object=zaak_url)
        ObjectInformatieObjectFactory.create(is_zaak=True, object='http://www.example.com/zrc/api/v1/zaken/2')

        url = get_operation_url('objectinformatieobject_list')

        response = self.client.get(url, {'object': zaak_url})

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

        response_data = response.json()
        self.assertEqual(len(response_data), 2)

        for zio in response_data:
            self.assertEqual(zio['object'], zaak_url)
    def registreer_zaak(self):
        zaak_create_url = get_operation_url('zaak_create')

        created = parser.parse(self.data['datetime'])
        intern_id = self.data['id']

        response = self.client.post(zaak_create_url, {
            'zaaktype': ZAAKTYPE,
            'bronorganisatie': '517439943',
            'verantwoordelijkeOrganisatie': VERANTWOORDELIJKE_ORGANISATIE,
            'identificatie': f'WATER_{intern_id}',
            'registratiedatum': created.strftime('%Y-%m-%d'),
            'startdatum': created.strftime('%Y-%m-%d'),
            'toelichting': self.data['text'],
            'zaakgeometrie': self.data['coordinates'],
        }, HTTP_ACCEPT_CRS='EPSG:4326')
        self.references['zaak_url'] = response.json()['url']
    def test_lees_eigenschappen(self):
        zaak = ZaakFactory.create()
        ZaakEigenschapFactory.create_batch(3, zaak=zaak)
        url = get_operation_url('zaakeigenschap_list', zaak_uuid=zaak.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)
        for obj in response_data:
            with self.subTest(obj=obj):
                self.assertResponseTypes(obj, (
                    ('url', str),
                    ('zaak', str),
                    ('eigenschap', str),
                    ('waarde', str),
                ))