from rest_framework.test import APITestCase from account.models import User from rest_framework import status from http.cookies import SimpleCookie from establishment.models import Establishment, EstablishmentType # Create your tests here. 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 tokkens tokkens = User.create_jwt_tokens(self.user) self.client.cookies = SimpleCookie({'access_token': tokkens.get('access_token'), 'refresh_token': tokkens.get('refresh_token')}) self.establishment_type = EstablishmentType.objects.create(name="Test establishment type") class EstablishmentTests(BaseTestCase): def test_establishment_CRD(self): response = self.client.get('/api/back/establishments/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) data = { 'name': 'Test establishment', 'type_id': self.establishment_type.id, } response = self.client.post('/api/back/establishments/', data=data, format='json') self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.get('/api/back/establishments/1/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) response = self.client.delete('/api/back/establishments/1/', format='json') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) class EmployeeTests(BaseTestCase): def test_employee_CRD(self): response = self.client.get('/api/back/establishments/employees/', 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/establishments/employees/', data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.get('/api/back/establishments/employees/1/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) response = self.client.delete('/api/back/establishments/employees/1/', format='json') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) class EmailTests(BaseTestCase): def test_email_CRD(self): response = self.client.get('/api/back/establishments/emails/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) establishment = Establishment.objects.create( name="Test establishment", establishment_type_id=self.establishment_type.id ) data = { 'email': "test@test.com", 'establishment': establishment.id } response = self.client.post('/api/back/establishments/emails/', data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.get('/api/back/establishments/emails/1/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) response = self.client.delete('/api/back/establishments/emails/1/') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) class PhoneTests(BaseTestCase): def test_phone_CRD(self): response = self.client.get('/api/back/establishments/phones/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) establishment = Establishment.objects.create( name="Test establishment", establishment_type_id=self.establishment_type.id ) data = { 'phone': "+79999999999", 'establishment': establishment.id } response = self.client.post('/api/back/establishments/phones/', data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) response = self.client.get('/api/back/establishments/phones/1/', format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) response = self.client.delete('/api/back/establishments/phones/1/') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)