Skip to content

Commit efd240d

Browse files
committed
🧪 [#472] add regression tests if filter with icontains have value with comma
1 parent a9979d1 commit efd240d

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

src/objects/tests/v2/test_filters.py

+57
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,63 @@ def test_filter_icontains_numeric(self):
359359
f"http://testserver{reverse('object-detail', args=[record.object.uuid])}",
360360
)
361361

362+
def test_filter_icontains_string_with_comma(self):
363+
"""
364+
regression test for https://github.com/maykinmedia/objects-api/issues/472
365+
"""
366+
record = ObjectRecordFactory.create(
367+
data={"name": "Something important"}, object__object_type=self.object_type
368+
)
369+
ObjectRecordFactory.create(
370+
data={"name": "Advies, support en kennis om te weten"},
371+
object__object_type=self.object_type,
372+
)
373+
ObjectRecordFactory.create(data={}, object__object_type=self.object_type)
374+
375+
response = self.client.get(
376+
self.url, {"data_attrs": "name__icontains__Advies, support en kennis"}
377+
)
378+
379+
self.assertEqual(response.status_code, status.HTTP_200_OK)
380+
381+
data = response.json()["results"]
382+
383+
self.assertEqual(len(data), 1)
384+
self.assertEqual(
385+
data[0]["url"],
386+
f"http://testserver{reverse('object-detail', args=[record.object.uuid])}",
387+
)
388+
389+
def test_filter_two_icontains_with_comma(self):
390+
"""
391+
regression test for https://github.com/maykinmedia/objects-api/issues/472
392+
"""
393+
record = ObjectRecordFactory.create(
394+
data={"name": "Something important"}, object__object_type=self.object_type
395+
)
396+
ObjectRecordFactory.create(
397+
data={"name": "Advies, support en kennis om te weten"},
398+
object__object_type=self.object_type,
399+
)
400+
ObjectRecordFactory.create(data={}, object__object_type=self.object_type)
401+
402+
response = self.client.get(
403+
self.url,
404+
{
405+
"data_attrs": "name__icontains__Advies, support en kennis,name__icontains__om"
406+
},
407+
)
408+
409+
self.assertEqual(response.status_code, status.HTTP_200_OK)
410+
411+
data = response.json()["results"]
412+
413+
self.assertEqual(len(data), 1)
414+
self.assertEqual(
415+
data[0]["url"],
416+
f"http://testserver{reverse('object-detail', args=[record.object.uuid])}",
417+
)
418+
362419
def test_filter_exclude_old_records(self):
363420
record_old = ObjectRecordFactory.create(
364421
data={"diameter": 45},

0 commit comments

Comments
 (0)