@@ -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
38553883class ReliefGiftsOtherViewSetTestCase (APITestCase ):
38563884 @classmethod
0 commit comments