Skip to content

Commit 2094cae

Browse files
committed
[#43] refactor filter tests
1 parent 2b59d5f commit 2094cae

26 files changed

+374
-107
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Generated by Django 4.2.17 on 2025-03-10 14:08
2+
3+
from django.db import migrations, models
4+
import open_producten.utils.validators
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("locaties", "0005_alter_locatie_postcode_alter_organisatie_postcode"),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name="locatie",
16+
name="postcode",
17+
field=models.CharField(
18+
blank=True,
19+
max_length=7,
20+
null=True,
21+
validators=[
22+
open_producten.utils.validators.CustomRegexValidator(
23+
message="Invalid postal code (spaces are not allowed).",
24+
regex="^[1-9][0-9]{3} [A-Z]{2}$",
25+
)
26+
],
27+
verbose_name="postcode",
28+
),
29+
),
30+
migrations.AlterField(
31+
model_name="organisatie",
32+
name="postcode",
33+
field=models.CharField(
34+
blank=True,
35+
max_length=7,
36+
null=True,
37+
validators=[
38+
open_producten.utils.validators.CustomRegexValidator(
39+
message="Invalid postal code (spaces are not allowed).",
40+
regex="^[1-9][0-9]{3} [A-Z]{2}$",
41+
)
42+
],
43+
verbose_name="postcode",
44+
),
45+
),
46+
]

src/open_producten/locaties/tests/api/test_contact.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313

1414
class TestContact(BaseApiTestCase):
15+
path = reverse("contact-list")
1516

1617
def setUp(self):
1718
super().setUp()
@@ -23,7 +24,6 @@ def setUp(self):
2324
}
2425
self.contact = ContactFactory.create()
2526

26-
self.path = reverse("contact-list")
2727
self.detail_path = reverse("contact-detail", args=[self.contact.id])
2828

2929
def test_read_contact_without_credentials_returns_error(self):

src/open_producten/locaties/tests/api/test_contact_filters.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@
99

1010

1111
class TestContactFilters(BaseApiTestCase):
12-
13-
def setUp(self):
14-
super().setUp()
15-
self.path = reverse("contact-list")
12+
path = reverse("contact-list")
1613

1714
def test_rol_filter(self):
1815
ContactFactory.create(rol="manager")
@@ -22,6 +19,7 @@ def test_rol_filter(self):
2219

2320
self.assertEqual(response.status_code, status.HTTP_200_OK)
2421
self.assertEqual(response.data["count"], 1)
22+
self.assertEqual(response.data["results"][0]["rol"], "manager")
2523

2624
def test_telefoonnummer_filter(self):
2725
ContactFactory.create(telefoonnummer="0611223344")
@@ -31,6 +29,7 @@ def test_telefoonnummer_filter(self):
3129

3230
self.assertEqual(response.status_code, status.HTTP_200_OK)
3331
self.assertEqual(response.data["count"], 1)
32+
self.assertEqual(response.data["results"][0]["telefoonnummer"], "0611223344")
3433

3534
def test_email_filter(self):
3635
ContactFactory.create(email="[email protected]")
@@ -40,6 +39,7 @@ def test_email_filter(self):
4039

4140
self.assertEqual(response.status_code, status.HTTP_200_OK)
4241
self.assertEqual(response.data["count"], 1)
42+
self.assertEqual(response.data["results"][0]["email"], "[email protected]")
4343

4444
def test_achternaam_filter(self):
4545
ContactFactory.create(achternaam="de Vries")
@@ -49,6 +49,7 @@ def test_achternaam_filter(self):
4949

5050
self.assertEqual(response.status_code, status.HTTP_200_OK)
5151
self.assertEqual(response.data["count"], 1)
52+
self.assertEqual(response.data["results"][0]["achternaam"], "Jansen")
5253

5354
def test_voornaam_filter(self):
5455
ContactFactory.create(voornaam="Bob")
@@ -58,6 +59,7 @@ def test_voornaam_filter(self):
5859

5960
self.assertEqual(response.status_code, status.HTTP_200_OK)
6061
self.assertEqual(response.data["count"], 1)
62+
self.assertEqual(response.data["results"][0]["voornaam"], "Bob")
6163

6264
def test_organisatie_id_filter(self):
6365
org_id = uuid4()
@@ -68,6 +70,7 @@ def test_organisatie_id_filter(self):
6870

6971
self.assertEqual(response.status_code, status.HTTP_200_OK)
7072
self.assertEqual(response.data["count"], 1)
73+
self.assertEqual(response.data["results"][0]["organisatie"]["id"], str(org_id))
7174

7275
def test_organisatie_naam_filter(self):
7376
ContactFactory.create(organisatie__naam="Maykin Media")
@@ -77,3 +80,6 @@ def test_organisatie_naam_filter(self):
7780

7881
self.assertEqual(response.status_code, status.HTTP_200_OK)
7982
self.assertEqual(response.data["count"], 1)
83+
self.assertEqual(
84+
response.data["results"][0]["organisatie"]["naam"], "Maykin Media"
85+
)

src/open_producten/locaties/tests/api/test_locatie.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212

1313

1414
class TestLocatie(BaseApiTestCase):
15+
path = reverse("locatie-list")
1516

1617
def setUp(self):
1718
super().setUp()
18-
self.data = {"naam": "locatie", "postcode": "1111AA", "stad": "Amsterdam"}
19+
self.data = {"naam": "locatie", "postcode": "1111 AA", "stad": "Amsterdam"}
1920
self.locatie = LocatieFactory.create()
2021

21-
self.path = reverse("locatie-list")
2222
self.detail_path = reverse("locatie-detail", args=[self.locatie.id])
2323

2424
def test_read_locatie_without_credentials_returns_error(self):

src/open_producten/locaties/tests/api/test_locatie_filters.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77

88

99
class TestLocatieFilters(BaseApiTestCase):
10-
11-
def setUp(self):
12-
super().setUp()
13-
self.path = reverse("locatie-list")
10+
path = reverse("locatie-list")
1411

1512
def test_naam_filter(self):
1613
LocatieFactory.create(naam="Maykin Media")
@@ -20,6 +17,7 @@ def test_naam_filter(self):
2017

2118
self.assertEqual(response.status_code, status.HTTP_200_OK)
2219
self.assertEqual(response.data["count"], 1)
20+
self.assertEqual(response.data["results"][0]["naam"], "Maykin Media")
2321

2422
def test_email_filter(self):
2523
LocatieFactory.create(email="[email protected]")
@@ -29,6 +27,7 @@ def test_email_filter(self):
2927

3028
self.assertEqual(response.status_code, status.HTTP_200_OK)
3129
self.assertEqual(response.data["count"], 1)
30+
self.assertEqual(response.data["results"][0]["email"], "[email protected]")
3231

3332
def test_telefoonnummer_filter(self):
3433
LocatieFactory.create(telefoonnummer="0611223344")
@@ -38,15 +37,17 @@ def test_telefoonnummer_filter(self):
3837

3938
self.assertEqual(response.status_code, status.HTTP_200_OK)
4039
self.assertEqual(response.data["count"], 1)
40+
self.assertEqual(response.data["results"][0]["telefoonnummer"], "0611223344")
4141

4242
def test_straat_filter(self):
4343
LocatieFactory.create(straat="Kingsfortweg")
44-
LocatieFactory.create(naam="Queensfortweg")
44+
LocatieFactory.create(straat="Queensfortweg")
4545

4646
response = self.client.get(self.path, {"straat__iexact": "kingsfortweg"})
4747

4848
self.assertEqual(response.status_code, status.HTTP_200_OK)
4949
self.assertEqual(response.data["count"], 1)
50+
self.assertEqual(response.data["results"][0]["straat"], "Kingsfortweg")
5051

5152
def test_huisnummer_filter(self):
5253
LocatieFactory.create(huisnummer="132AA")
@@ -56,15 +57,17 @@ def test_huisnummer_filter(self):
5657

5758
self.assertEqual(response.status_code, status.HTTP_200_OK)
5859
self.assertEqual(response.data["count"], 1)
60+
self.assertEqual(response.data["results"][0]["huisnummer"], "132AA")
5961

6062
def test_postcode_filter(self):
61-
LocatieFactory.create(postcode="1111AA")
62-
LocatieFactory.create(postcode="2222BB")
63+
LocatieFactory.create(postcode="1111 AA")
64+
LocatieFactory.create(postcode="2222 BB")
6365

64-
response = self.client.get(self.path, {"postcode": "1111AA"})
66+
response = self.client.get(self.path, {"postcode": "1111 AA"})
6567

6668
self.assertEqual(response.status_code, status.HTTP_200_OK)
6769
self.assertEqual(response.data["count"], 1)
70+
self.assertEqual(response.data["results"][0]["postcode"], "1111 AA")
6871

6972
def test_stad_filter(self):
7073
LocatieFactory.create(stad="Amsterdam")
@@ -74,3 +77,4 @@ def test_stad_filter(self):
7477

7578
self.assertEqual(response.status_code, status.HTTP_200_OK)
7679
self.assertEqual(response.data["count"], 1)
80+
self.assertEqual(response.data["results"][0]["stad"], "Amsterdam")

src/open_producten/locaties/tests/api/test_organisatie.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212

1313

1414
class TestOrganisatie(BaseApiTestCase):
15+
path = reverse("organisatie-list")
1516

1617
def setUp(self):
1718
super().setUp()
1819

1920
self.data = {
2021
"naam": "locatie",
2122
"code": "ORG-123",
22-
"postcode": "1111AA",
23+
"postcode": "1111 AA",
2324
"stad": "Amsterdam",
2425
}
2526
self.organisatie = OrganisatieFactory.create()
2627

27-
self.path = reverse("organisatie-list")
2828
self.detail_path = reverse("organisatie-detail", args=[self.organisatie.id])
2929

3030
def test_read_organisatie_without_credentials_returns_error(self):

src/open_producten/locaties/tests/api/test_organisatie_filters.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88

99
class TestOrganisatieFilters(BaseApiTestCase):
1010

11-
def setUp(self):
12-
super().setUp()
13-
self.path = reverse("organisatie-list")
11+
path = reverse("organisatie-list")
1412

1513
def test_naam_filter(self):
1614
OrganisatieFactory.create(naam="Maykin Media")
@@ -20,6 +18,7 @@ def test_naam_filter(self):
2018

2119
self.assertEqual(response.status_code, status.HTTP_200_OK)
2220
self.assertEqual(response.data["count"], 1)
21+
self.assertEqual(response.data["results"][0]["naam"], "Maykin Media")
2322

2423
def test_email_filter(self):
2524
OrganisatieFactory.create(email="[email protected]")
@@ -29,6 +28,7 @@ def test_email_filter(self):
2928

3029
self.assertEqual(response.status_code, status.HTTP_200_OK)
3130
self.assertEqual(response.data["count"], 1)
31+
self.assertEqual(response.data["results"][0]["email"], "[email protected]")
3232

3333
def test_telefoonnummer_filter(self):
3434
OrganisatieFactory.create(telefoonnummer="0611223344")
@@ -38,15 +38,17 @@ def test_telefoonnummer_filter(self):
3838

3939
self.assertEqual(response.status_code, status.HTTP_200_OK)
4040
self.assertEqual(response.data["count"], 1)
41+
self.assertEqual(response.data["results"][0]["telefoonnummer"], "0611223344")
4142

4243
def test_straat_filter(self):
4344
OrganisatieFactory.create(straat="Kingsfortweg")
44-
OrganisatieFactory.create(naam="Queensfortweg")
45+
OrganisatieFactory.create(straat="Queensfortweg")
4546

4647
response = self.client.get(self.path, {"straat__iexact": "kingsfortweg"})
4748

4849
self.assertEqual(response.status_code, status.HTTP_200_OK)
4950
self.assertEqual(response.data["count"], 1)
51+
self.assertEqual(response.data["results"][0]["straat"], "Kingsfortweg")
5052

5153
def test_huisnummer_filter(self):
5254
OrganisatieFactory.create(huisnummer="132AA")
@@ -56,15 +58,17 @@ def test_huisnummer_filter(self):
5658

5759
self.assertEqual(response.status_code, status.HTTP_200_OK)
5860
self.assertEqual(response.data["count"], 1)
61+
self.assertEqual(response.data["results"][0]["huisnummer"], "132AA")
5962

6063
def test_postcode_filter(self):
61-
OrganisatieFactory.create(postcode="1111AA")
62-
OrganisatieFactory.create(postcode="2222BB")
64+
OrganisatieFactory.create(postcode="1111 AA")
65+
OrganisatieFactory.create(postcode="2222 BB")
6366

64-
response = self.client.get(self.path, {"postcode": "1111AA"})
67+
response = self.client.get(self.path, {"postcode": "1111 AA"})
6568

6669
self.assertEqual(response.status_code, status.HTTP_200_OK)
6770
self.assertEqual(response.data["count"], 1)
71+
self.assertEqual(response.data["results"][0]["postcode"], "1111 AA")
6872

6973
def test_stad_filter(self):
7074
OrganisatieFactory.create(stad="Amsterdam")
@@ -74,6 +78,7 @@ def test_stad_filter(self):
7478

7579
self.assertEqual(response.status_code, status.HTTP_200_OK)
7680
self.assertEqual(response.data["count"], 1)
81+
self.assertEqual(response.data["results"][0]["stad"], "Amsterdam")
7782

7883
def test_code_filter(self):
7984
OrganisatieFactory.create(code="123")
@@ -83,3 +88,4 @@ def test_code_filter(self):
8388

8489
self.assertEqual(response.status_code, status.HTTP_200_OK)
8590
self.assertEqual(response.data["count"], 1)
91+
self.assertEqual(response.data["results"][0]["code"], "8q30298472019387409")

src/open_producten/producten/tests/api/test_product.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
@freeze_time("2024-01-01")
2222
@override_settings(NOTIFICATIONS_DISABLED=True, PRODUCTEN_API_MAJOR_VERSION=0)
2323
class TestProduct(BaseApiTestCase):
24+
path = reverse("product-list")
2425

2526
def setUp(self):
2627
super().setUp()
@@ -33,7 +34,6 @@ def setUp(self):
3334
"frequentie": "eenmalig",
3435
"data": [],
3536
}
36-
self.path = reverse("product-list")
3737

3838
def detail_path(self, product):
3939
return reverse("product-detail", args=[product.id])

0 commit comments

Comments
 (0)