from rest_framework.test import APITestCase from account.models import User from rest_framework import status from http.cookies import SimpleCookie from location.models import City, Region, Country class BaseTestCase(APITestCase): def setUp(self): self.username = 'sedragurda' self.password = 'sedragurdaredips19' self.email = 'sedragurda@desoz.com' self.newsletter = True self.user = User.objects.create_user( username=self.username, email=self.email, password=self.password) # get tokens tokkens = User.create_jwt_tokens(self.user) self.client.cookies = SimpleCookie( {'access_token': tokkens.get('access_token'), 'refresh_token': tokkens.get('refresh_token')}) class AddressTests(BaseTestCase): def setUp(self): super().setUp() self.country = Country( name="Test country", code="+7" ) self.region = Region( name="Test region", code="812", country=self.country ) self.city = City( name="Test region", code="812", region=self.region, country=self.country ) def test_address_CRUD(self): response = self.client.get('/api/back/location/addresses/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) data = { 'user': self.user.id, 'name': 'Test name' } response = self.client.post('/api/back/location/addresses/', data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.get('/api/back/location/addresses/1/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) update_data = { 'name': 'Test new name' } response = self.client.patch('/api/back/location/addresses/1/', data=update_data) self.assertEqual(response.status_code, status.HTTP_200_OK) response = self.client.delete('/api/back/location/addresses/1/', format='json') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)