82 lines
2.6 KiB
Python
82 lines
2.6 KiB
Python
from rest_framework.test import APITestCase
|
|
from rest_framework import status
|
|
from authorization.tests.tests_authorization import get_tokens_for_user
|
|
from django.urls import reverse
|
|
from http.cookies import SimpleCookie
|
|
from location.models import Country
|
|
from account.models import Role, User, UserRole
|
|
|
|
class RoleTests(APITestCase):
|
|
def setUp(self):
|
|
self.data = get_tokens_for_user()
|
|
self.client.cookies = SimpleCookie(
|
|
{'access_token': self.data['tokens'].get('access_token'),
|
|
'refresh_token': self.data['tokens'].get('access_token')})
|
|
|
|
def test_role_get(self):
|
|
url = reverse('back:account:role-list-create')
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
|
|
|
def test_role_post(self):
|
|
url = reverse('back:account:role-list-create')
|
|
country = Country.objects.create(
|
|
name='{"ru-RU":"Russia"}',
|
|
code='23',
|
|
low_price=15,
|
|
high_price=150000
|
|
)
|
|
country.save()
|
|
|
|
data = {
|
|
"role": 2,
|
|
"country": country.pk
|
|
}
|
|
response = self.client.post(url, data=data, format='json')
|
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
|
|
|
|
|
class UserRoleTests(APITestCase):
|
|
def setUp(self):
|
|
self.data = get_tokens_for_user()
|
|
self.client.cookies = SimpleCookie(
|
|
{'access_token': self.data['tokens'].get('access_token'),
|
|
'refresh_token': self.data['tokens'].get('access_token')})
|
|
|
|
self.country_ru = Country.objects.create(
|
|
name='{"ru-RU":"Russia"}',
|
|
code='23',
|
|
low_price=15,
|
|
high_price=150000
|
|
)
|
|
self.country_ru.save()
|
|
|
|
self.country_en = Country.objects.create(
|
|
name='{"en-GB":"England"}',
|
|
code='25',
|
|
low_price=15,
|
|
high_price=150000
|
|
)
|
|
self.country_en.save()
|
|
|
|
self.role = Role.objects.create(
|
|
role=2,
|
|
country=self.country_ru
|
|
)
|
|
self.role.save()
|
|
|
|
self.user_test = User.objects.create_user(username='test',
|
|
email='testemail@mail.com',
|
|
password='passwordtest')
|
|
|
|
def test_user_role_post(self):
|
|
url = reverse('back:account:user-role-list-create')
|
|
|
|
data = {
|
|
"user": self.user_test.id,
|
|
"role": self.role.id
|
|
}
|
|
|
|
response = self.client.post(url, data=data, format='json')
|
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|