Skip to content

Commit b7ceeec

Browse files
committed
Update livelihoodactivity viewsets filters with zone and country filter see HEA-997
1 parent 3226735 commit b7ceeec

2 files changed

Lines changed: 292 additions & 0 deletions

File tree

apps/baseline/tests/test_viewsets.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3851,6 +3851,34 @@ def test_html(self):
38513851
df = pd.read_html(content)[0].fillna("")
38523852
self.assertEqual(len(df), self.num_records + 1)
38533853

3854+
def test_filter_by_country(self):
3855+
country = CountryFactory(
3856+
iso3166a2="AA",
3857+
iso3166a3="AAA",
3858+
iso3166n3=911,
3859+
iso_en_ro_name="A Country",
3860+
iso_en_name="AA Country",
3861+
name="AA Country",
3862+
)
3863+
PaymentInKindFactory(livelihood_zone_baseline__livelihood_zone__country=country)
3864+
response = self.client.get(self.url, {"country": country.iso3166a2})
3865+
self.assertEqual(response.status_code, 200)
3866+
self.assertEqual(len(response.json()), 1)
3867+
response = self.client.get(self.url, {"country": country.iso_en_ro_name})
3868+
self.assertEqual(response.status_code, 200)
3869+
self.assertEqual(len(response.json()), 1)
3870+
3871+
def test_filter_by_livelihood_zone(self):
3872+
livelihood_zone = LivelihoodZoneFactory(code="MW01")
3873+
PaymentInKindFactory(livelihood_zone_baseline__livelihood_zone=livelihood_zone)
3874+
response = self.client.get(self.url, {"livelihood_zone": "MW01"})
3875+
self.assertEqual(response.status_code, 200)
3876+
self.assertEqual(len(response.json()), 1)
3877+
# Case-insensitive match
3878+
response = self.client.get(self.url, {"livelihood_zone": "mw01"})
3879+
self.assertEqual(response.status_code, 200)
3880+
self.assertEqual(len(response.json()), 1)
3881+
38543882

38553883
class ReliefGiftsOtherViewSetTestCase(APITestCase):
38563884
@classmethod

0 commit comments

Comments
 (0)