def test_cannot_create_already_existing_city(self): city = { 'name': 'Munich', 'country': 'Germany', 'language': 'German', 'currency': 'EUR' } serialized_city = CitySerializer(data=city) self.assertFalse(serialized_city.is_valid())
def get(self, request, format=None): city = request.GET.__getitem__( 'city').title() # get city url parameter cities = City.objects.filter( name__startswith=city)[: 5] # filter results and limit response to 5 serializer = CitySerializer(cities, many=True) return JsonResponse(serializer.data, safe=False)
def test_specific_city_search(self): city = City.objects.create(id=42, name="Searchable3", region="") response = self.get_response("cities/Searchable") content = loads(response.content) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(content.get("results")), 1) self.assertEqual(content.get("results"), [CitySerializer(city).data])
def test_query_param_region(self): request = self.factory.get("cities", {"region": "midt"}) response = get_response(request) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data.get("results")), 1) self.assertEqual( response.data.get("results")[0], CitySerializer(self.city1).data)
def city_element(req, pk): print("GET City element running") try: city = City.objects.filter(id=pk) except City.DoesNotExist: return HttpResponse(status=404) if req.method == 'GET': serializer = CitySerializer(city) return Response(serializer.data)
def test_cities_list(self): request = self.factory.get("/cities/") response = get_response(request) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data.keys(), {"count", "next", "previous", "results"}) self.assertEqual(len(response.data.get("results")), len(self.cities)) self.assertEqual(response.data.get("results"), CitySerializer(self.cities, many=True).data)
class PersonalSerializer(serializers.ModelSerializer): """model personal profile""" user = UserSerializer() countries = CountrySerializer() cities = CitySerializer() class Meta: model = PersonalProfile fields = "__all__"
class ProfileCompanySerializer(serializers.ModelSerializer): """profile company serializer without profiles""" countries = CountrySerializer() cities = CitySerializer() class Meta: model = ProfileCompany fields = ( "representative_name", "company_name", "representative", "association_name", "heading", "email_company", "photo", "countries", "cities", ) read_only_fields = ("id", )
class CHDetailSerializer(serializers.ModelSerializer): """campaing header serializer""" city = CitySerializer() category = CategorySerializer() user = UserPublicSerializer() class Meta: model = CampaingHeader fields = ( "id", "user", "category", "city", "qty_day_left", "amount", "amount_reached", "percent_reached", "role", "code_campaing", ) read_only_fields = ("id", )
def city_collection(req): print("GET City collection running") if req.method == 'GET': cities = City.objects.all() serializer = CitySerializer(cities, many=True) return Response(serializer.data)
def test_city_detail(self): request = self.factory.get("/cities/") response = get_response(request, city_id=self.city1.id) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, CitySerializer(self.city1).data)