Esempio n. 1
0
 def test_get_active_from_session(self):
     country = UKFactory()
     country.active = True
     country.save()
     request = self.factory.get("/api/country/session/")
     request.session = {"shipping_country": country.iso2_code}
     response = CountrySessionAPIView.as_view()(request)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(
         response.data,
         {
             "iso2_code": country.iso2_code,
             "iso3_code": country.iso3_code,
             "name": country.name,
             "printable_name": country.printable_name,
             "numcode": country.numcode,
             "continent": {
                 "id": country.continent.id,
                 "code": country.continent.code,
                 "name": country.continent.name,
             },
             "admin_area": country.admin_area,
             "eu": country.eu,
         },
     )
Esempio n. 2
0
    def test_set_country_in_session(self):
        country = USFactory()
        active_country = UKFactory()
        active_country.active = True
        active_country.save()
        data = {"iso2_code": active_country.iso2_code}
        request = self.factory.post("/api/country/session/", data=data)
        request.session = {"country_code": country.iso2_code}

        response = CountrySessionAPIView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        test_data = {
            "iso2_code": active_country.iso2_code,
            "iso3_code": active_country.iso3_code,
            "name": active_country.name,
            "printable_name": active_country.printable_name,
            "numcode": active_country.numcode,
            "continent": {
                "id": active_country.continent.id,
                "code": active_country.continent.code,
                "name": active_country.continent.name,
            },
            "admin_area": active_country.admin_area,
            "eu": active_country.eu,
        }

        self.assertEqual(response.data, test_data)
Esempio n. 3
0
    def test_active_countries(self):
        Country.objects.all().update(active=False)
        active_country = UKFactory()
        active_country.active = True
        active_country.save()
        request = self.factory.get("/api/country/")

        response = CountryListAPIView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        test_data = [{
            "iso2_code": active_country.iso2_code,
            "iso3_code": active_country.iso3_code,
            "name": active_country.name,
            "printable_name": active_country.printable_name,
            "numcode": active_country.numcode,
            "continent": {
                "id": active_country.continent.id,
                "code": active_country.continent.code,
                "name": active_country.continent.name,
            },
            "admin_area": active_country.admin_area,
            "eu": active_country.eu,
        }]
        self.assertEqual(response.data, test_data)
Esempio n. 4
0
 def test_get_active_from_session(self):
     country = UKFactory()
     country.active = True
     country.save()
     request = self.factory.get("/api/country/session/")
     request.session = {"shipping_country": country.iso2_code}
     response = CountrySessionAPIView.as_view()(request)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(
         response.data,
         {
             "iso2_code": country.iso2_code,
             "iso3_code": country.iso3_code,
             "name": country.name,
             "printable_name": country.printable_name,
             "numcode": country.numcode,
             "continent": {
                 "id": country.continent.id,
                 "code": country.continent.code,
                 "name": country.continent.name,
             },
             "admin_area": country.admin_area,
             "eu": country.eu,
         },
     )
Esempio n. 5
0
    def test_active_countries(self):
        Country.objects.all().update(active=False)
        active_country = UKFactory()
        active_country.active = True
        active_country.save()
        request = self.factory.get("/api/country/")

        response = CountryListAPIView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        test_data = [
            {
                "iso2_code": active_country.iso2_code,
                "iso3_code": active_country.iso3_code,
                "name": active_country.name,
                "printable_name": active_country.printable_name,
                "numcode": active_country.numcode,
                "continent": {
                    "id": active_country.continent.id,
                    "code": active_country.continent.code,
                    "name": active_country.continent.name,
                },
                "admin_area": active_country.admin_area,
                "eu": active_country.eu,
            }
        ]
        self.assertEqual(response.data, test_data)
Esempio n. 6
0
    def test_set_country_in_session(self):
        country = USFactory()
        active_country = UKFactory()
        active_country.active = True
        active_country.save()
        data = {"iso2_code": active_country.iso2_code}
        request = self.factory.post("/api/country/session/", data=data)
        request.session = {"country_code": country.iso2_code}

        response = CountrySessionAPIView.as_view()(request)
        self.assertEqual(response.status_code, 200)

        test_data = {
            "iso2_code": active_country.iso2_code,
            "iso3_code": active_country.iso3_code,
            "name": active_country.name,
            "printable_name": active_country.printable_name,
            "numcode": active_country.numcode,
            "continent": {
                "id": active_country.continent.id,
                "code": active_country.continent.code,
                "name": active_country.continent.name,
            },
            "admin_area": active_country.admin_area,
            "eu": active_country.eu,
        }

        self.assertEqual(response.data, test_data)
Esempio n. 7
0
 def test_read_fields(self):
     country = UKFactory()
     country.active = True
     country.save()
     serializer = CountrySerializer(country)
     self.assertEqual(
         serializer.data["iso2_code"].encode("utf-8"),
         country.iso2_code.encode("utf-8"),
     )
     self.assertEqual(
         serializer.data["iso3_code"].encode("utf-8"),
         country.iso3_code.encode("utf-8"),
     )
     self.assertEqual(serializer.data["name"], country.name)
     self.assertEqual(serializer.data["printable_name"], country.printable_name)
     self.assertEqual(serializer.data["numcode"], country.numcode)
     self.assertEqual(
         serializer.data["continent"],
         {
             "id": country.continent.id,
             "code": country.continent.code,
             "name": country.continent.name,
         },
     )
     self.assertEqual(serializer.data["admin_area"], country.admin_area)
     self.assertEqual(serializer.data["eu"], country.eu)
Esempio n. 8
0
 def test_read_fields(self):
     country = UKFactory()
     country.active = True
     country.save()
     serializer = CountrySerializer(country)
     self.assertEqual(
         serializer.data["iso2_code"].encode("utf-8"),
         country.iso2_code.encode("utf-8"),
     )
     self.assertEqual(
         serializer.data["iso3_code"].encode("utf-8"),
         country.iso3_code.encode("utf-8"),
     )
     self.assertEqual(serializer.data["name"], country.name)
     self.assertEqual(serializer.data["printable_name"],
                      country.printable_name)
     self.assertEqual(serializer.data["numcode"], country.numcode)
     self.assertEqual(
         serializer.data["continent"],
         {
             "id": country.continent.id,
             "code": country.continent.code,
             "name": country.continent.name,
         },
     )
     self.assertEqual(serializer.data["admin_area"], country.admin_area)
     self.assertEqual(serializer.data["eu"], country.eu)
Esempio n. 9
0
    def test_geoip__country_matches_active_country(self, mock_get_real_ip, mock_geoip):
        mock_get_real_ip.return_value = "88.97.34.8"
        uk = UKFactory()
        uk.active = True
        uk.save()

        class MockGeoIP(object):
            def country(self, ip):
                return {"country_name": "United Kingdom", "country_code": "GB"}

        mock_geoip.return_value = MockGeoIP()

        request = self.request_factory.get("/")
        request.session = {}

        self.assertEqual(country_for_request(request), "GB")
Esempio n. 10
0
    def test_geoip__country_matches_active_country(self, mock_get_real_ip,
                                                   mock_geoip):
        mock_get_real_ip.return_value = "88.97.34.8"
        uk = UKFactory()
        uk.active = True
        uk.save()

        class MockGeoIP(object):
            def country(self, ip):
                return {"country_name": "United Kingdom", "country_code": "GB"}

        mock_geoip.return_value = MockGeoIP()

        request = self.request_factory.get("/")
        request.session = {}

        self.assertEqual(country_for_request(request), "GB")