gault-millau/apps/establishment/tests.py
2019-09-20 14:42:00 +03:00

93 lines
3.5 KiB
Python

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, Employee
from rest_framework.reverse import reverse
# 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)