Skip to content

Commit ee197c7

Browse files
SilviaAmAmsvenvandescheur
authored andcommitted
✅ [#397] Test zaak creation with VCR
1 parent fb69999 commit ee197c7

File tree

5 files changed

+485
-4
lines changed

5 files changed

+485
-4
lines changed

backend/docker-services/openzaak/fixtures/complex_relations.json

+98
Original file line numberDiff line numberDiff line change
@@ -658,5 +658,103 @@
658658
"catalogus": 1,
659659
"deelzaaktypen": []
660660
}
661+
},
662+
{
663+
"model": "catalogi.informatieobjecttype",
664+
"pk": 2,
665+
"fields": {
666+
"datum_begin_geldigheid": "2018-01-01",
667+
"datum_einde_geldigheid": null,
668+
"concept": false,
669+
"uuid": "9dee6712-122e-464a-99a3-c16692de5485",
670+
"omschrijving": "Destruction report type",
671+
"informatieobjectcategorie": "stock",
672+
"trefwoord": "[]",
673+
"vertrouwelijkheidaanduiding": "openbaar",
674+
"omschrijving_generiek_informatieobjecttype": "bill",
675+
"omschrijving_generiek_definitie": "Destruction report type",
676+
"omschrijving_generiek_herkomst": "ZSWuoDPOIaWF",
677+
"omschrijving_generiek_hierarchie": "until",
678+
"omschrijving_generiek_opmerking": "",
679+
"catalogus": 1
680+
}
681+
},
682+
{
683+
"model": "catalogi.zaaktypeinformatieobjecttype",
684+
"pk": 2,
685+
"fields": {
686+
"uuid": "835af306-c038-42f5-8225-008628b6e3f8",
687+
"zaaktype": 2,
688+
"informatieobjecttype": 2,
689+
"volgnummer": 1,
690+
"richting": "inkomend",
691+
"statustype": null
692+
}
693+
},
694+
{
695+
"model": "catalogi.zaaktype",
696+
"pk": 2,
697+
"fields": {
698+
"datum_begin_geldigheid": "2018-01-01",
699+
"datum_einde_geldigheid": null,
700+
"concept": false,
701+
"uuid": "ecd08880-5081-4d7a-afc3-ade1d6e6346f",
702+
"identificatie": "ZAAKTYPE-2018-0000000002",
703+
"zaaktype_omschrijving": "Destruction confirmation type",
704+
"zaaktype_omschrijving_generiek": "",
705+
"vertrouwelijkheidaanduiding": "",
706+
"doel": "To confirm that a destruction list has been correctly processed.",
707+
"aanleiding": "When a destructio list is processed by Open Archiefbeheer",
708+
"toelichting": "",
709+
"indicatie_intern_of_extern": "extern",
710+
"handeling_initiator": "indienen",
711+
"onderwerp": "Destruction",
712+
"handeling_behandelaar": "uitvoeren",
713+
"doorlooptijd_behandeling": "P30D",
714+
"servicenorm_behandeling": null,
715+
"opschorting_en_aanhouding_mogelijk": true,
716+
"verlenging_mogelijk": false,
717+
"verlengingstermijn": null,
718+
"trefwoorden": "[]",
719+
"publicatie_indicatie": true,
720+
"publicatietekst": "",
721+
"verantwoordingsrelatie": "[]",
722+
"versiedatum": "2018-01-01",
723+
"verantwoordelijke": "100000000",
724+
"producten_of_diensten": "[\"https://example.com/product/123\"]",
725+
"selectielijst_procestype": "https://selectielijst.openzaak.nl/api/v1/procestypen/c844637e-6393-4202-b030-e1bffb08a9b0",
726+
"selectielijst_procestype_jaar": 2020,
727+
"referentieproces_naam": "ReferentieProces 0",
728+
"referentieproces_link": "",
729+
"broncatalogus_url": "",
730+
"broncatalogus_domein": "",
731+
"broncatalogus_rsin": "",
732+
"bronzaaktype_url": "",
733+
"bronzaaktype_identificatie": "",
734+
"bronzaaktype_omschrijving": "",
735+
"catalogus": 1,
736+
"deelzaaktypen": []
737+
}
738+
},
739+
{
740+
"model": "catalogi.statustype",
741+
"pk": 1,
742+
"fields": {
743+
"uuid": "835a2a13-f52f-4339-83e5-b7250e5ad016",
744+
"statustype_omschrijving": "Statustype for destruction report zaak",
745+
"statustypevolgnummer": 1,
746+
"zaaktype": 2
747+
}
748+
},
749+
{
750+
"model": "catalogi.resultaattype",
751+
"pk": 1,
752+
"fields": {
753+
"uuid": "5d39b8ac-437a-475c-9a76-0f6ae1540d0e",
754+
"omschrijving": "Destruction report zaak",
755+
"resultaattypeomschrijving": "Destruction report zaak",
756+
"selectielijstklasse": "https://selectielijst.openzaak.nl/api/v1/resultaten/1bb001e9-5eab-4f10-8940-8781e11f180f",
757+
"zaaktype": 2
758+
}
661759
}
662760
]

backend/src/openarchiefbeheer/destruction/tests/factories.py

+7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ class Meta:
1818
model = "destruction.DestructionList"
1919
django_get_or_create = ("name",)
2020

21+
class Params:
22+
with_report = factory.Trait(
23+
destruction_report=factory.django.FileField(
24+
data=b"some data", filename="report.csv"
25+
),
26+
)
27+
2128
@post_generation
2229
def post(destruction_list, create, extracted, **kwargs):
2330
if not create:

backend/src/openarchiefbeheer/destruction/tests/test_tasks.py

+33-4
Original file line numberDiff line numberDiff line change
@@ -263,9 +263,18 @@ def test_process_list(self):
263263
destruction_list=destruction_list,
264264
)
265265

266-
with patch(
267-
"openarchiefbeheer.destruction.models.delete_zaak_and_related_objects"
268-
) as m_delete:
266+
with (
267+
patch(
268+
"openarchiefbeheer.destruction.models.delete_zaak_and_related_objects"
269+
) as m_delete,
270+
patch(
271+
"openarchiefbeheer.destruction.utils.create_zaak_for_report"
272+
) as m_zaak,
273+
patch(
274+
"openarchiefbeheer.destruction.utils.create_eio_destruction_report"
275+
) as m_eio,
276+
patch("openarchiefbeheer.destruction.utils.attach_report_to_zaak") as m_zio,
277+
):
269278
delete_destruction_list(destruction_list)
270279

271280
destruction_list.refresh_from_db()
@@ -324,6 +333,10 @@ def test_process_list(self):
324333
b"http://zaken.nl/api/v1/zaken/222-222-222,2022-01-02,http://zaken.nl/api/v1/resultaten/111-111-222,2020-01-02,Test description 2,ZAAK-02,http://catalogue-api.nl/zaaktypen/111-111-111,Aangifte behandelen,1\n",
325334
)
326335

336+
m_zaak.assert_called()
337+
m_eio.assert_called()
338+
m_zio.assert_called()
339+
327340
@log_capture(level=logging.INFO)
328341
def test_item_skipped_if_already_succeeded(self, logs):
329342
item = DestructionListItemFactory.create(
@@ -358,6 +371,13 @@ def test_processing_list_with_failed_item(self):
358371
patch(
359372
"openarchiefbeheer.destruction.models.delete_zaak_and_related_objects",
360373
),
374+
patch(
375+
"openarchiefbeheer.destruction.utils.create_zaak_for_report"
376+
) as m_zaak,
377+
patch(
378+
"openarchiefbeheer.destruction.utils.create_eio_destruction_report"
379+
) as m_eio,
380+
patch("openarchiefbeheer.destruction.utils.attach_report_to_zaak") as m_zio,
361381
):
362382
delete_destruction_list(destruction_list)
363383

@@ -371,9 +391,18 @@ def test_processing_list_with_failed_item(self):
371391
self.assertEqual(item.processing_status, InternalStatus.succeeded)
372392
self.assertEqual(
373393
item.internal_results,
374-
{"deleted_resources": {}, "resources_to_delete": {}, "traceback": ""},
394+
{
395+
"deleted_resources": {},
396+
"resources_to_delete": {},
397+
"traceback": "",
398+
"created_resources": {},
399+
},
375400
)
376401

402+
m_zaak.assert_called()
403+
m_eio.assert_called()
404+
m_zio.assert_called()
405+
377406
def test_complete_and_notify(self):
378407
destruction_list = DestructionListFactory.create(
379408
name="Some destruction list",

0 commit comments

Comments
 (0)