mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 21:10:38 +03:00
38 lines
1.7 KiB
Python
38 lines
1.7 KiB
Python
''' Testing serializers '''
|
|
from rest_framework.test import APITestCase, APIRequestFactory, APIClient
|
|
|
|
from apps.users.models import User
|
|
from apps.users.serializers import LoginSerializer
|
|
|
|
|
|
class TestLoginSerializer(APITestCase):
|
|
def setUp(self):
|
|
self.user = User.objects.create_user(username='UserTest', password='123')
|
|
self.factory = APIRequestFactory()
|
|
self.client = APIClient()
|
|
|
|
def test_validate(self):
|
|
data = {'username': 'UserTest', 'password': '123'}
|
|
request = self.factory.post('/users/api/login', data)
|
|
serializer = LoginSerializer(data=data, context={'request': request})
|
|
self.assertTrue(serializer.is_valid(raise_exception=True))
|
|
self.assertEqual(serializer.validated_data['user'], self.user)
|
|
|
|
def test_validate_invalid_password(self):
|
|
data = {'username': 'UserTest', 'password': 'invalid'}
|
|
request = self.factory.post('/users/api/login', data)
|
|
serializer = LoginSerializer(data=data, context={'request': request})
|
|
self.assertFalse(serializer.is_valid(raise_exception=False))
|
|
|
|
def test_validate_invalid_request(self):
|
|
data = {'username': 'UserTest', 'auth': 'invalid'}
|
|
request = self.factory.post('/users/api/login', data)
|
|
serializer = LoginSerializer(data=data, context={'request': request})
|
|
self.assertFalse(serializer.is_valid(raise_exception=False))
|
|
|
|
def test_validate_empty_username(self):
|
|
data = {'username': '', 'auth': 'invalid'}
|
|
request = self.factory.post('/users/api/login', data)
|
|
serializer = LoginSerializer(data=data, context={'request': request})
|
|
self.assertFalse(serializer.is_valid(raise_exception=False))
|