Skip to content

Commit

Permalink
✅ [#246] Add tests for DigitaalAdres.is_standaard_adres
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenbal committed Oct 18, 2024
1 parent 4c9e506 commit b139ff3
Showing 1 changed file with 77 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from rest_framework import status
from vng_api_common.tests import reverse

from openklant.components.klantinteracties.models import DigitaalAdres
from openklant.components.klantinteracties.models.tests.factories.digitaal_adres import (
DigitaalAdresFactory,
)
Expand Down Expand Up @@ -69,6 +70,7 @@ def test_create_digitaal_adres(self):
self.assertEqual(data["verstrektDoorPartij"], None)
self.assertEqual(data["adres"], "adres")
self.assertEqual(data["omschrijving"], "omschrijving")
self.assertEqual(data["isStandaardAdres"], False)

with self.subTest("with_betrokkene_and_partij"):
partij = PartijFactory.create()
Expand All @@ -89,6 +91,38 @@ def test_create_digitaal_adres(self):
self.assertEqual(data["adres"], "adres")
self.assertEqual(data["omschrijving"], "omschrijving")

def test_create_digitaal_adres_is_standaard_adres(self):
"""
Creating a DigitaalAdres with isStandaardAdres=True should make other existing
DigitaalAdressen no longer the default
"""
existing_adres = DigitaalAdresFactory.create(
is_standaard_adres=True, soort_digitaal_adres="email"
)

list_url = reverse("klantinteracties:digitaaladres-list")
data = {
"verstrektDoorBetrokkene": None,
"verstrektDoorPartij": None,
"soortDigitaalAdres": "email",
"adres": "adres",
"omschrijving": "omschrijving",
"isStandaardAdres": True,
}

response = self.client.post(list_url, data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)

data = response.json()

self.assertEqual(data["isStandaardAdres"], True)

existing_adres.refresh_from_db()
new_adres = DigitaalAdres.objects.last()

self.assertEqual(existing_adres.is_standaard_adres, False)
self.assertEqual(new_adres.is_standaard_adres, True)

def test_update_digitaal_adres(self):
betrokkene, betrokkene2 = BetrokkeneFactory.create_batch(2)
partij, partij2 = PartijFactory.create_batch(2)
Expand Down Expand Up @@ -153,6 +187,49 @@ def test_update_digitaal_adres(self):
self.assertEqual(data["adres"], "changed")
self.assertEqual(data["omschrijving"], "changed")

def test_update_digitaal_adres_is_standaard_adres(self):
"""
Creating a DigitaalAdres with isStandaardAdres=True should make other existing
DigitaalAdressen no longer the default
"""
existing_adres = DigitaalAdresFactory.create(
is_standaard_adres=True, soort_digitaal_adres="email"
)
betrokkene, betrokkene2 = BetrokkeneFactory.create_batch(2)
partij, partij2 = PartijFactory.create_batch(2)
digitaal_adres = DigitaalAdresFactory.create(
betrokkene=betrokkene,
partij=partij2,
soort_digitaal_adres="email",
adres="adres",
omschrijving="omschrijving",
)
detail_url = reverse(
"klantinteracties:digitaaladres-detail",
kwargs={"uuid": str(digitaal_adres.uuid)},
)

data = {
"verstrektDoorBetrokkene": {"uuid": str(betrokkene2.uuid)},
"verstrektDoorPartij": {"uuid": str(partij.uuid)},
"soortDigitaalAdres": "email",
"isStandaardAdres": True,
"adres": "changed",
"omschrijving": "changed",
}

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

data = response.json()

self.assertEqual(data["isStandaardAdres"], True)

existing_adres.refresh_from_db()
digitaal_adres.refresh_from_db()

self.assertEqual(existing_adres.is_standaard_adres, False)
self.assertEqual(digitaal_adres.is_standaard_adres, True)

def test_partial_update_digitaal_adres(self):
betrokkene = BetrokkeneFactory.create()
partij = PartijFactory.create()
Expand Down

0 comments on commit b139ff3

Please sign in to comment.