def test_list_town(self): """Test listing town""" sample_town() sample_town(name='test 2') res = self.client.get(TOWN_URL) towns = models.Town.objects.all().order_by('id') serializer = serializers.TownSerializer(towns, many=True) self.assertEqual(res.status_code, status.HTTP_200_OK) self.assertEqual(res.data, serializer.data)
def test_update_attribute_of_place(self): """Test update place attribute: town or type""" place = sample_place() # oldProject = sample_project() # place.projects.add(oldProject) # newProject = sample_project('new project') town = sample_town('new town') payload = {'town_id': town.id} url = update_attribute_place_url(place.id) res = self.client.patch(url, payload) self.assertEqual(res.status_code, status.HTTP_200_OK) place.refresh_from_db() # projects = place.projects.all() # projectSerializer = serializers.ProjectSerializer( # projects, # many=True # ) # self.assertEqual( # serializers.ProjectSerializer(newProject) # .data, # projectSerializer.data[0] # ) town = place.town townSerializer = serializers.TownSerializer(town) self.assertEqual( serializers.TownSerializer(town).data, townSerializer.data)
def test_place_admin_required(self): """Test admin is required""" town = sample_town() payload = {'name': 'place test name', 'town': town.id} res = self.client.post(PLACE_URL, payload) self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
def test_retrieve_town(self): """Test retrieving a town""" town = sample_town() url = detail_town_url(town.id) res = self.client.get(url) serializer = serializers.TownSerializer(town) self.assertEqual(res.status_code, status.HTTP_200_OK) self.assertEqual(res.data, serializer.data)
def test_update_place(self): """Test updating place""" place = sample_place() town = sample_town(name='other town') payload = {'name': 'new place name', 'town': town.id} url = detail_place_url(place.id) res = self.client.patch(url, payload) self.assertEqual(res.status_code, status.HTTP_200_OK) place.refresh_from_db() self.assertEqual(place.name, payload['name']) self.assertEqual(place.town.id, payload['town'])
def test_update_town(self): """Test updating town""" town = sample_town() city = sample_city(name='other city') payload = {'name': 'new town name', 'city': city.id} url = detail_town_url(town.id) res = self.client.patch(url, payload) self.assertEqual(res.status_code, status.HTTP_200_OK) town.refresh_from_db() self.assertEqual(town.name, payload['name']) self.assertEqual(town.city.id, payload['city'])
def test_create_place(self): """Test creating a place""" town = sample_town() type = sample_placeType() payload = { 'name': 'place test name', 'town': town.id, 'type': type.id, 'codeSite': 10, 'latitudeDec': 10.1, 'longitudeDec': 9.1 } res = self.client.post(PLACE_URL, payload) self.assertEqual(res.status_code, status.HTTP_201_CREATED) place = models.Place.objects.get(id=res.data['id']) self.assertEqual(place.name, payload['name']) self.assertEqual(place.town.id, payload['town'])