1+ import pytest
12from django .core .urlresolvers import reverse_lazy
3+ from django .utils .crypto import get_random_string
24
5+ from issues .models import Jurisdiction
36from issues .models .services import Service
47from issues .tests .utils import get_data_from_response
58
@@ -23,3 +26,23 @@ def test_service_list_i18n(mf_api_client, random_service):
2326 )
2427 assert len (data ) == 1
2528 assert data [0 ]['service_name' ].endswith (lang ) # As we set above
29+
30+
31+ @pytest .mark .django_db
32+ def test_service_list_jurisdiction_filter (mf_api_client ):
33+ tku = Jurisdiction .objects .create (identifier = 'fi.turku' )
34+ hel = Jurisdiction .objects .create (identifier = 'fi.hel' )
35+ tku_service = Service .objects .create (service_code = get_random_string (), service_name = 'Aurajokipalvelu' )
36+ hel_service = Service .objects .create (service_code = get_random_string (), service_name = 'Suomenlinnapalvelu' )
37+ tku_service .jurisdictions .add (tku )
38+ hel_service .jurisdictions .add (hel )
39+ for query , expected in (
40+ ({}, [tku_service , hel_service ]),
41+ ({'jurisdiction_id' : tku .identifier }, [tku_service ]),
42+ ({'jurisdiction_id' : hel .identifier }, [hel_service ]),
43+ ):
44+ data = get_data_from_response (
45+ mf_api_client .get (SERVICE_LIST_ENDPOINT , query )
46+ )
47+ assert len (data ) == len (expected )
48+ assert set (s ['service_name' ] for s in data ) == set (s .service_name for s in expected )
0 commit comments