Skip to content

Commit

Permalink
✅ [#15] Test expanding procestype
Browse files Browse the repository at this point in the history
  • Loading branch information
SilviaAmAm committed May 14, 2024
1 parent b45382b commit 89e79d8
Showing 1 changed file with 144 additions and 34 deletions.
178 changes: 144 additions & 34 deletions backend/src/openarchiefbeheer/zaken/tests/test_tasks.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from django.test import TestCase
from django.test import TestCase, TransactionTestCase

from requests_mock import Mocker
from zgw_consumers.constants import APITypes
from zgw_consumers.test.factories import ServiceFactory

from ..models import Zaak
from ..tasks import retrieve_and_cache_zaken_from_openzaak
from ..utils import get_procestype
from .factories import ZaakFactory

PAGE_1 = {
Expand All @@ -19,21 +20,6 @@
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
},
"resultaat": {
"url": "http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
"resultaattype": "http://catalogue-api.nl/catalogi/api/v1/resultaattypen/bd84c463-fa65-46ef-8a9e-dd887e005aea",
"toelichting": "Test result",
"_expand": {
"resultaattype": {
"url": "http://catalogue-api.nl/catalogi/api/v1/resultaattypen/bd84c463-fa65-46ef-8a9e-dd887e005aea",
},
},
},
},
},
{
"identificatie": "ZAAK-02",
Expand All @@ -43,11 +29,6 @@
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
},
},
},
],
"count": 2,
Expand All @@ -65,11 +46,6 @@
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
},
},
},
{
"identificatie": "ZAAK-04",
Expand All @@ -79,11 +55,6 @@
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
},
},
},
],
"count": 2,
Expand All @@ -93,7 +64,7 @@


@Mocker()
class TasksTest(TestCase):
class RetrieveCachedZakenTest(TestCase):
@classmethod
def setUpTestData(cls):
super().setUpTestData()
Expand All @@ -118,9 +89,91 @@ def test_retrieve_and_cache_zaken(self, m):

self.assertEqual(zaken.count(), 4)


PAGE_WITH_EXPAND = {
"results": [
{
"identificatie": "ZAAK-01",
"url": "http://zaken-api.nl/zaken/api/v1/zaken/75f4c682-1e16-45ea-8f78-99b4474986ac",
"uuid": "75f4c682-1e16-45ea-8f78-99b4474986ac",
"resultaat": "http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
"startdatum": "2020-02-01",
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
"selectielijstProcestype": "https://selectielijst.openzaak.nl/api/v1/procestypen/e1b73b12-b2f6-4c4e-8929-94f84dd2a57d",
},
"resultaat": {
"url": "http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
"resultaattype": "http://catalogue-api.nl/catalogi/api/v1/resultaattypen/bd84c463-fa65-46ef-8a9e-dd887e005aea",
"toelichting": "Test result",
"_expand": {
"resultaattype": {
"url": "http://catalogue-api.nl/catalogi/api/v1/resultaattypen/bd84c463-fa65-46ef-8a9e-dd887e005aea",
},
},
},
},
},
{
"identificatie": "ZAAK-02",
"url": "http://zaken-api.nl/zaken/api/v1/zaken/79dbdbb6-b903-4655-84de-d0b9e106b781",
"uuid": "79dbdbb6-b903-4655-84de-d0b9e106b781",
"startdatum": "2020-02-01",
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"resultaat": "http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
},
},
},
{
"identificatie": "ZAAK-03",
"url": "http://zaken-api.nl/zaken/api/v1/zaken/89dbdbb6-b903-4655-84de-d0b9e106b781",
"uuid": "89dbdbb6-b903-4655-84de-d0b9e106b781",
"startdatum": "2020-02-01",
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
},
],
"count": 3,
"previous": None,
"next": None,
}


@Mocker()
class RetrieveCachedZakenWithProcestypeTest(TransactionTestCase):
def setUp(self):
super().setUp()

self.addCleanup(get_procestype.cache_clear)

def test_expanded_correctly(self, m):
m.get("http://zaken-api.nl/zaken/api/v1/zaken", json=PAGE_1)
m.get("http://zaken-api.nl/zaken/api/v1/zaken/?page=2", json=PAGE_2)
ServiceFactory.create(
api_type=APITypes.zrc,
api_root="http://zaken-api.nl/zaken/api/v1",
)
ServiceFactory.create(
api_type=APITypes.orc,
api_root="https://selectielijst.openzaak.nl/api/v1/",
)

m.get("http://zaken-api.nl/zaken/api/v1/zaken", json=PAGE_WITH_EXPAND)
m.get(
"https://selectielijst.openzaak.nl/api/v1/procestypen/e1b73b12-b2f6-4c4e-8929-94f84dd2a57d",
json={
"url": "https://selectielijst.openzaak.nl/api/v1/procestypen/e1b73b12-b2f6-4c4e-8929-94f84dd2a57d",
"nummer": 1,
},
)

retrieve_and_cache_zaken_from_openzaak()

Expand All @@ -137,3 +190,60 @@ def test_expanded_correctly(self, m):
zaak_with_resultaat.zaaktype["url"],
"http://catalogue-api.nl/zaaktypen/111-111-111",
)
self.assertEqual(
zaak_with_resultaat.zaaktype["selectielijst_procestype"]["nummer"],
1,
)

zaak_without_expanded_resultaat = Zaak.objects.get(identificatie="ZAAK-02")

self.assertEqual(
zaak_without_expanded_resultaat.resultaat,
"http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
)

zaak_without_expand = Zaak.objects.get(identificatie="ZAAK-03")

self.assertEqual(
zaak_without_expand.zaaktype,
"http://catalogue-api.nl/zaaktypen/111-111-111",
)

def test_expand_no_selectielijst_service(self, m):
ServiceFactory.create(
api_type=APITypes.zrc,
api_root="http://zaken-api.nl/zaken/api/v1",
)

m.get(
"http://zaken-api.nl/zaken/api/v1/zaken",
json={
"results": [
{
"identificatie": "ZAAK-01",
"url": "http://zaken-api.nl/zaken/api/v1/zaken/75f4c682-1e16-45ea-8f78-99b4474986ac",
"uuid": "75f4c682-1e16-45ea-8f78-99b4474986ac",
"resultaat": "http://zaken-api.nl/zaken/api/v1/resultaten/ffaa6410-0319-4a6b-b65a-fb209798e81c",
"startdatum": "2020-02-01",
"zaaktype": "http://catalogue-api.nl/zaaktypen/111-111-111",
"bronorganisatie": "000000000",
"verantwoordelijkeOrganisatie": "000000000",
"_expand": {
"zaaktype": {
"url": "http://catalogue-api.nl/zaaktypen/111-111-111",
"selectielijstProcestype": "https://selectielijst.openzaak.nl/api/v1/procestypen/e1b73b12-b2f6-4c4e-8929-94f84dd2a57d",
},
},
}
]
},
)

retrieve_and_cache_zaken_from_openzaak()

zaak = Zaak.objects.get(identificatie="ZAAK-01")

self.assertEqual(
zaak.zaaktype["selectielijst_procestype"],
"https://selectielijst.openzaak.nl/api/v1/procestypen/e1b73b12-b2f6-4c4e-8929-94f84dd2a57d",
)

0 comments on commit 89e79d8

Please sign in to comment.