Skip to content

Commit 2a8e8a8

Browse files
[#239] Split test_partijen.py in several tests files
1 parent de924a8 commit 2a8e8a8

File tree

6 files changed

+4371
-4404
lines changed

6 files changed

+4371
-4404
lines changed

src/openklant/components/klantinteracties/api/tests/partijen/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
import datetime
2+
3+
from rest_framework import status
4+
from vng_api_common.tests import reverse
5+
6+
from openklant.components.klantinteracties.models.tests.factories.partijen import (
7+
CategorieFactory,
8+
CategorieRelatieFactory,
9+
PartijFactory,
10+
)
11+
from openklant.components.token.tests.api_testcase import APITestCase
12+
13+
14+
class CategorieRelatieTests(APITestCase):
15+
def test_list_categorie_relatie(self):
16+
list_url = reverse("klantinteracties:categorierelatie-list")
17+
CategorieRelatieFactory.create_batch(2)
18+
19+
response = self.client.get(list_url)
20+
21+
self.assertEqual(response.status_code, status.HTTP_200_OK)
22+
23+
data = response.json()
24+
self.assertEqual(len(data["results"]), 2)
25+
26+
def test_read_categorie_relatie(self):
27+
categorie_relatie = CategorieRelatieFactory.create()
28+
detail_url = reverse(
29+
"klantinteracties:categorierelatie-detail",
30+
kwargs={"uuid": str(categorie_relatie.uuid)},
31+
)
32+
33+
response = self.client.get(detail_url)
34+
35+
self.assertEqual(response.status_code, status.HTTP_200_OK)
36+
data = response.json()
37+
self.assertEqual(data["url"], "http://testserver" + detail_url)
38+
39+
def test_create_categorie_relatie(self):
40+
list_url = reverse("klantinteracties:categorierelatie-list")
41+
partij = PartijFactory.create()
42+
categorie = CategorieFactory.create(naam="naam")
43+
data = {
44+
"partij": {"uuid": str(partij.uuid)},
45+
"categorie": {"uuid": str(categorie.uuid)},
46+
"beginDatum": "2024-01-11",
47+
"eindDatum": "2024-01-12",
48+
}
49+
50+
response = self.client.post(list_url, data)
51+
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
52+
data = response.json()
53+
54+
self.assertEqual(data["partij"]["uuid"], str(partij.uuid))
55+
self.assertEqual(data["categorie"]["uuid"], str(categorie.uuid))
56+
self.assertEqual(data["categorie"]["naam"], "naam")
57+
self.assertEqual(data["beginDatum"], "2024-01-11")
58+
self.assertEqual(data["eindDatum"], "2024-01-12")
59+
60+
with self.subTest("fill_begin_datum_when_empty_with_todays_date"):
61+
today = datetime.datetime.today().strftime("%Y-%m-%d")
62+
data["beginDatum"] = None
63+
64+
response = self.client.post(list_url, data)
65+
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
66+
data = response.json()
67+
68+
self.assertEqual(data["beginDatum"], today)
69+
70+
def test_update_categorie_relatie(self):
71+
partij, partij2 = PartijFactory.create_batch(2)
72+
categorie, categorie2 = CategorieFactory.create_batch(2)
73+
categorie_relatie = CategorieRelatieFactory.create(
74+
partij=partij,
75+
categorie=categorie,
76+
begin_datum="2024-01-11",
77+
eind_datum=None,
78+
)
79+
detail_url = reverse(
80+
"klantinteracties:categorierelatie-detail",
81+
kwargs={"uuid": str(categorie_relatie.uuid)},
82+
)
83+
response = self.client.get(detail_url)
84+
data = response.json()
85+
86+
self.assertEqual(data["partij"]["uuid"], str(partij.uuid))
87+
self.assertEqual(data["categorie"]["uuid"], str(categorie.uuid))
88+
self.assertEqual(data["categorie"]["naam"], categorie.naam)
89+
self.assertEqual(data["beginDatum"], "2024-01-11")
90+
self.assertEqual(data["eindDatum"], None)
91+
92+
data = {
93+
"partij": {"uuid": str(partij2.uuid)},
94+
"categorie": {"uuid": str(categorie2.uuid)},
95+
"beginDatum": "2024-01-12",
96+
"eindDatum": "2024-01-14",
97+
}
98+
99+
response = self.client.put(detail_url, data)
100+
self.assertEqual(response.status_code, status.HTTP_200_OK)
101+
data = response.json()
102+
103+
self.assertEqual(data["partij"]["uuid"], str(partij2.uuid))
104+
self.assertEqual(data["categorie"]["uuid"], str(categorie2.uuid))
105+
self.assertEqual(data["categorie"]["naam"], categorie2.naam)
106+
self.assertEqual(data["beginDatum"], "2024-01-12")
107+
self.assertEqual(data["eindDatum"], "2024-01-14")
108+
109+
def test_update_partial_categorie_relatie(self):
110+
partij = PartijFactory.create()
111+
categorie = CategorieFactory.create(naam="naam")
112+
categorie_relatie = CategorieRelatieFactory.create(
113+
partij=partij,
114+
categorie=categorie,
115+
begin_datum="2024-01-11",
116+
eind_datum=None,
117+
)
118+
detail_url = reverse(
119+
"klantinteracties:categorierelatie-detail",
120+
kwargs={"uuid": str(categorie_relatie.uuid)},
121+
)
122+
response = self.client.get(detail_url)
123+
data = response.json()
124+
125+
self.assertEqual(data["partij"]["uuid"], str(partij.uuid))
126+
self.assertEqual(data["categorie"]["uuid"], str(categorie.uuid))
127+
self.assertEqual(data["categorie"]["naam"], categorie.naam)
128+
self.assertEqual(data["beginDatum"], "2024-01-11")
129+
self.assertEqual(data["eindDatum"], None)
130+
131+
data = {
132+
"eindDatum": "2024-01-14",
133+
}
134+
135+
response = self.client.patch(detail_url, data)
136+
self.assertEqual(response.status_code, status.HTTP_200_OK)
137+
data = response.json()
138+
139+
self.assertEqual(data["partij"]["uuid"], str(partij.uuid))
140+
self.assertEqual(data["categorie"]["uuid"], str(categorie.uuid))
141+
self.assertEqual(data["categorie"]["naam"], "naam")
142+
self.assertEqual(data["beginDatum"], "2024-01-11")
143+
self.assertEqual(data["eindDatum"], "2024-01-14")
144+
145+
def test_destroy_categorie_relatie(self):
146+
categorie_relatie = CategorieRelatieFactory.create()
147+
detail_url = reverse(
148+
"klantinteracties:categorierelatie-detail",
149+
kwargs={"uuid": str(categorie_relatie.uuid)},
150+
)
151+
response = self.client.delete(detail_url)
152+
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
153+
154+
list_url = reverse("klantinteracties:categorierelatie-list")
155+
response = self.client.get(list_url)
156+
data = response.json()
157+
self.assertEqual(data["count"], 0)
158+
159+
160+
class CategorieTests(APITestCase):
161+
def test_list_categorie(self):
162+
list_url = reverse("klantinteracties:categorie-list")
163+
CategorieFactory.create_batch(2)
164+
165+
response = self.client.get(list_url)
166+
167+
self.assertEqual(response.status_code, status.HTTP_200_OK)
168+
169+
data = response.json()
170+
self.assertEqual(len(data["results"]), 2)
171+
172+
def test_read_categorie(self):
173+
partij_identificator = CategorieFactory.create()
174+
detail_url = reverse(
175+
"klantinteracties:categorie-detail",
176+
kwargs={"uuid": str(partij_identificator.uuid)},
177+
)
178+
179+
response = self.client.get(detail_url)
180+
181+
self.assertEqual(response.status_code, status.HTTP_200_OK)
182+
data = response.json()
183+
self.assertEqual(data["url"], "http://testserver" + detail_url)
184+
185+
def test_create_categorie(self):
186+
list_url = reverse("klantinteracties:categorie-list")
187+
data = {
188+
"naam": "naam",
189+
}
190+
191+
response = self.client.post(list_url, data)
192+
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
193+
data = response.json()
194+
195+
self.assertEqual(data["naam"], "naam")
196+
197+
def test_update_categorie(self):
198+
categorie = CategorieFactory.create(naam="naam")
199+
200+
detail_url = reverse(
201+
"klantinteracties:categorie-detail",
202+
kwargs={"uuid": str(categorie.uuid)},
203+
)
204+
response = self.client.get(detail_url)
205+
data = response.json()
206+
207+
self.assertEqual(data["naam"], "naam")
208+
209+
data = {
210+
"naam": "changed",
211+
}
212+
213+
response = self.client.put(detail_url, data)
214+
self.assertEqual(response.status_code, status.HTTP_200_OK)
215+
data = response.json()
216+
217+
self.assertEqual(data["naam"], "changed")
218+
219+
def test_partial_update_categorie(self):
220+
categorie = CategorieFactory.create(
221+
naam="naam",
222+
)
223+
224+
detail_url = reverse(
225+
"klantinteracties:categorie-detail",
226+
kwargs={"uuid": str(categorie.uuid)},
227+
)
228+
response = self.client.get(detail_url)
229+
data = response.json()
230+
231+
self.assertEqual(data["naam"], "naam")
232+
233+
data = {"naam": "changed"}
234+
response = self.client.patch(detail_url, data)
235+
self.assertEqual(response.status_code, status.HTTP_200_OK)
236+
data = response.json()
237+
238+
self.assertEqual(data["naam"], "changed")
239+
240+
def test_destroy_categorie(self):
241+
categorie = CategorieFactory.create()
242+
detail_url = reverse(
243+
"klantinteracties:categorie-detail",
244+
kwargs={"uuid": str(categorie.uuid)},
245+
)
246+
response = self.client.delete(detail_url)
247+
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
248+
249+
list_url = reverse("klantinteracties:categorie-list")
250+
response = self.client.get(list_url)
251+
data = response.json()
252+
self.assertEqual(data["count"], 0)

0 commit comments

Comments
 (0)