ConceptPortal-public/rsconcept/backend/apps/users/tests/t_serializers.py

38 lines
1.7 KiB
Python
Raw Normal View History

2023-07-15 17:46:19 +03:00
''' 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))
2023-07-27 22:04:25 +03:00
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))