Skip to content

Commit

Permalink
[#309] Create migrations tests
Browse files Browse the repository at this point in the history
  • Loading branch information
danielmursa-dev committed Feb 11, 2025
1 parent aba76eb commit 798c9b2
Show file tree
Hide file tree
Showing 5 changed files with 241 additions and 6 deletions.
62 changes: 62 additions & 0 deletions src/openklant/components/contactgegevens/tests/test_migrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,3 +332,65 @@ def test_ko_migration_persoon_model_wrong_code(self):
self.assertEqual(records.count(), 1)
self.assertEqual(records[0].adres_nummeraanduiding_id, "1234567890000001")
self.assertNotEqual(records[0].adres_nummeraanduiding_id, "123456")


class TestNewAadresFields(BaseMigrationTest):
app = "contactgegevens"
migrate_from = "0005_alter_organisatie_adres_nummeraanduiding_id_and_more"
migrate_to = "0006_organisatie_adres_huisnummer_and_more"

def test_ok_migration_organisatie_model(self):

Organisatie = self.old_app_state.get_model("contactgegevens", "Organisatie")
org = Organisatie.objects.create(adres_nummeraanduiding_id="1234567890000001")
self.assertFalse(hasattr(org, "adres_straatnaam"))
self.assertFalse(hasattr(org, "adres_huisnummer"))
self.assertFalse(hasattr(org, "adres_huisnummertoevoeging"))
self.assertFalse(hasattr(org, "adres_postcode"))
self.assertFalse(hasattr(org, "adres_stad"))

self._perform_migration()

Organisatie = self.apps.get_model("contactgegevens", "Organisatie")
org = Organisatie.objects.get()

self.assertTrue(hasattr(org, "adres_straatnaam"))
self.assertTrue(hasattr(org, "adres_huisnummer"))
self.assertTrue(hasattr(org, "adres_huisnummertoevoeging"))
self.assertTrue(hasattr(org, "adres_postcode"))
self.assertTrue(hasattr(org, "adres_stad"))
self.assertEqual(org.adres_straatnaam, "")
self.assertEqual(org.adres_huisnummer, "")
self.assertEqual(org.adres_huisnummertoevoeging, "")
self.assertEqual(org.adres_postcode, "")
self.assertEqual(org.adres_stad, "")

def test_ok_migration_persoon_model(self):

Persoon = self.old_app_state.get_model("contactgegevens", "Persoon")

persoon = Persoon.objects.create(
adres_nummeraanduiding_id="1234567890000001", geboortedatum="1980-02-23"
)

self.assertFalse(hasattr(persoon, "adres_straatnaam"))
self.assertFalse(hasattr(persoon, "adres_huisnummer"))
self.assertFalse(hasattr(persoon, "adres_huisnummertoevoeging"))
self.assertFalse(hasattr(persoon, "adres_postcode"))
self.assertFalse(hasattr(persoon, "adres_stad"))

self._perform_migration()
Persoon = self.apps.get_model("contactgegevens", "Persoon")

persoon = Persoon.objects.get()

self.assertTrue(hasattr(persoon, "adres_straatnaam"))
self.assertTrue(hasattr(persoon, "adres_huisnummer"))
self.assertTrue(hasattr(persoon, "adres_huisnummertoevoeging"))
self.assertTrue(hasattr(persoon, "adres_postcode"))
self.assertTrue(hasattr(persoon, "adres_stad"))
self.assertEqual(persoon.adres_straatnaam, "")
self.assertEqual(persoon.adres_huisnummer, "")
self.assertEqual(persoon.adres_huisnummertoevoeging, "")
self.assertEqual(persoon.adres_postcode, "")
self.assertEqual(persoon.adres_stad, "")
108 changes: 108 additions & 0 deletions src/openklant/components/klantinteracties/tests/test_migrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -437,3 +437,111 @@ def test_ko_migration_partij_model_wrong_code(self):
)
self.assertNotEqual(records[0].bezoekadres_nummeraanduiding_id, "ABC")
self.assertNotEqual(records[0].correspondentieadres_nummeraanduiding_id, "DEF")


class TestNewAadresFields(BaseMigrationTest):
app = "klantinteracties"
migrate_from = "0027_alter_betrokkene_bezoekadres_nummeraanduiding_id_and_more"
migrate_to = "0028_betrokkene_bezoekadres_huisnummer_and_more"

def test_ok_migration_betrokkene_model(self):

Betrokkene = self.old_app_state.get_model("klantinteracties", "Betrokkene")
Klantcontact = self.old_app_state.get_model("klantinteracties", "Klantcontact")

betrokkene = Betrokkene.objects.create(
partij=None,
klantcontact=Klantcontact.objects.create(vertrouwelijk=False),
initiator=False,
)
self.assertFalse(hasattr(betrokkene, "bezoekadres_straatnaam"))
self.assertFalse(hasattr(betrokkene, "bezoekadres_huisnummer"))
self.assertFalse(hasattr(betrokkene, "bezoekadres_huisnummertoevoeging"))
self.assertFalse(hasattr(betrokkene, "bezoekadres_postcode"))
self.assertFalse(hasattr(betrokkene, "bezoekadres_stad"))
self.assertFalse(hasattr(betrokkene, "correspondentieadres_straatnaam"))
self.assertFalse(hasattr(betrokkene, "correspondentieadres_huisnummer"))
self.assertFalse(
hasattr(betrokkene, "correspondentieadres_huisnummertoevoeging")
)
self.assertFalse(hasattr(betrokkene, "correspondentieadres_postcode"))
self.assertFalse(hasattr(betrokkene, "correspondentieadres_stad"))

self._perform_migration()

Betrokkene = self.apps.get_model("klantinteracties", "Betrokkene")

betrokkene = Betrokkene.objects.get()

self.assertTrue(hasattr(betrokkene, "bezoekadres_straatnaam"))
self.assertTrue(hasattr(betrokkene, "bezoekadres_huisnummer"))
self.assertTrue(hasattr(betrokkene, "bezoekadres_huisnummertoevoeging"))
self.assertTrue(hasattr(betrokkene, "bezoekadres_postcode"))
self.assertTrue(hasattr(betrokkene, "bezoekadres_stad"))
self.assertTrue(hasattr(betrokkene, "correspondentieadres_straatnaam"))
self.assertTrue(hasattr(betrokkene, "correspondentieadres_huisnummer"))
self.assertTrue(
hasattr(betrokkene, "correspondentieadres_huisnummertoevoeging")
)
self.assertTrue(hasattr(betrokkene, "correspondentieadres_postcode"))
self.assertTrue(hasattr(betrokkene, "correspondentieadres_stad"))

self.assertEqual(betrokkene.bezoekadres_straatnaam, "")
self.assertEqual(betrokkene.bezoekadres_huisnummer, "")
self.assertEqual(betrokkene.bezoekadres_huisnummertoevoeging, "")
self.assertEqual(betrokkene.bezoekadres_postcode, "")
self.assertEqual(betrokkene.bezoekadres_stad, "")
self.assertEqual(betrokkene.correspondentieadres_straatnaam, "")
self.assertEqual(betrokkene.correspondentieadres_huisnummer, "")
self.assertEqual(betrokkene.correspondentieadres_huisnummertoevoeging, "")
self.assertEqual(betrokkene.correspondentieadres_postcode, "")
self.assertEqual(betrokkene.correspondentieadres_stad, "")

def test_ok_migration_partij_model(self):

Partij = self.old_app_state.get_model("klantinteracties", "Partij")

partij = Partij.objects.create(
indicatie_actief=True,
bezoekadres_nummeraanduiding_id="ABC",
correspondentieadres_nummeraanduiding_id="DEF",
)
self.assertFalse(hasattr(partij, "bezoekadres_straatnaam"))
self.assertFalse(hasattr(partij, "bezoekadres_huisnummer"))
self.assertFalse(hasattr(partij, "bezoekadres_huisnummertoevoeging"))
self.assertFalse(hasattr(partij, "bezoekadres_postcode"))
self.assertFalse(hasattr(partij, "bezoekadres_stad"))

self.assertFalse(hasattr(partij, "correspondentieadres_straatnaam"))
self.assertFalse(hasattr(partij, "correspondentieadres_huisnummer"))
self.assertFalse(hasattr(partij, "correspondentieadres_huisnummertoevoeging"))
self.assertFalse(hasattr(partij, "correspondentieadres_postcode"))
self.assertFalse(hasattr(partij, "correspondentieadres_stad"))

self._perform_migration()

Partij = self.apps.get_model("klantinteracties", "Partij")

partij = Partij.objects.get()
self.assertTrue(hasattr(partij, "bezoekadres_straatnaam"))
self.assertTrue(hasattr(partij, "bezoekadres_huisnummer"))
self.assertTrue(hasattr(partij, "bezoekadres_huisnummertoevoeging"))
self.assertTrue(hasattr(partij, "bezoekadres_postcode"))
self.assertTrue(hasattr(partij, "bezoekadres_stad"))

self.assertTrue(hasattr(partij, "correspondentieadres_straatnaam"))
self.assertTrue(hasattr(partij, "correspondentieadres_huisnummer"))
self.assertTrue(hasattr(partij, "correspondentieadres_huisnummertoevoeging"))
self.assertTrue(hasattr(partij, "correspondentieadres_postcode"))
self.assertTrue(hasattr(partij, "correspondentieadres_stad"))

self.assertEqual(partij.bezoekadres_straatnaam, "")
self.assertEqual(partij.bezoekadres_huisnummer, "")
self.assertEqual(partij.bezoekadres_huisnummertoevoeging, "")
self.assertEqual(partij.bezoekadres_postcode, "")
self.assertEqual(partij.bezoekadres_stad, "")
self.assertEqual(partij.correspondentieadres_straatnaam, "")
self.assertEqual(partij.correspondentieadres_huisnummer, "")
self.assertEqual(partij.correspondentieadres_huisnummertoevoeging, "")
self.assertEqual(partij.correspondentieadres_postcode, "")
self.assertEqual(partij.correspondentieadres_stad, "")
7 changes: 1 addition & 6 deletions src/openklant/components/utils/mixins.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
from django.core.validators import (
MaxValueValidator,
MinLengthValidator,
MinValueValidator,
validate_integer,
)
from django.core.validators import MinLengthValidator, validate_integer
from django.db import models
from django.utils.translation import gettext_lazy as _

Expand Down
10 changes: 10 additions & 0 deletions src/openklant/fixtures/contactgegevens.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
"pk": 1,
"fields": {
"adres_nummeraanduiding_id": "1234567890000001",
"adres_straatnaam":"",
"adres_huisnummer":"",
"adres_huisnummertoevoeging":"",
"adres_postcode":"",
"adres_stad":"",
"adres_adresregel1": "Keizersgracht 117",
"adres_adresregel2": "1015 CJ Amsterdam",
"adres_adresregel3": "Noord-Holland",
Expand All @@ -20,6 +25,11 @@
"pk": 1,
"fields": {
"adres_nummeraanduiding_id": "1234567890000002",
"adres_straatnaam":"",
"adres_huisnummer":"",
"adres_huisnummertoevoeging":"",
"adres_postcode":"",
"adres_stad":"",
"adres_adresregel1": "Keizersgracht 117",
"adres_adresregel2": "1015 CJ Amsterdam",
"adres_adresregel3": "Noord-Holland",
Expand Down
60 changes: 60 additions & 0 deletions src/openklant/fixtures/klantinteracties.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,21 @@
"pk": 1,
"fields": {
"bezoekadres_nummeraanduiding_id": "",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "",
"bezoekadres_adresregel2": "",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand All @@ -126,11 +136,21 @@
"pk": 2,
"fields": {
"bezoekadres_nummeraanduiding_id": "",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "",
"bezoekadres_adresregel2": "",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand All @@ -152,11 +172,21 @@
"pk": 3,
"fields": {
"bezoekadres_nummeraanduiding_id": "1234567890000001",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "Keizersgracht 117",
"bezoekadres_adresregel2": "1015 CJ Amsterdam",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "NL",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand Down Expand Up @@ -203,11 +233,21 @@
"pk": 1,
"fields": {
"bezoekadres_nummeraanduiding_id": "",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "",
"bezoekadres_adresregel2": "",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand All @@ -228,11 +268,21 @@
"pk": 2,
"fields": {
"bezoekadres_nummeraanduiding_id": "1234567890000002",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "Keizersgracht 117",
"bezoekadres_adresregel2": "1015 CJ Amsterdam",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "NL",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand All @@ -253,11 +303,21 @@
"pk": 3,
"fields": {
"bezoekadres_nummeraanduiding_id": "",
"bezoekadres_straatnaam":"",
"bezoekadres_huisnummer":"",
"bezoekadres_huisnummertoevoeging":"",
"bezoekadres_postcode":"",
"bezoekadres_stad":"",
"bezoekadres_adresregel1": "",
"bezoekadres_adresregel2": "",
"bezoekadres_adresregel3": "",
"bezoekadres_land": "",
"correspondentieadres_nummeraanduiding_id": "",
"correspondentieadres_straatnaam":"",
"correspondentieadres_huisnummer":"",
"correspondentieadres_huisnummertoevoeging":"",
"correspondentieadres_postcode":"",
"correspondentieadres_stad":"",
"correspondentieadres_adresregel1": "",
"correspondentieadres_adresregel2": "",
"correspondentieadres_adresregel3": "",
Expand Down

0 comments on commit 798c9b2

Please sign in to comment.