mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 02:16:16 +00:00
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
"""
|
|
test cases file of account
|
|
"""
|
|
# django imports
|
|
from django.test import TestCase
|
|
from rest_framework.test import APIClient
|
|
from rest_framework import status
|
|
from django.contrib.auth.models import User
|
|
from django.urls import reverse
|
|
from rest_framework_simplejwt.tokens import RefreshToken
|
|
|
|
|
|
class UserLoginTestCase(TestCase):
|
|
"""
|
|
test cases for login
|
|
"""
|
|
def setUp(self):
|
|
"""
|
|
set up data
|
|
:return:
|
|
"""
|
|
self.client = APIClient()
|
|
self.user_email = 'user@example.com'
|
|
self.user = User.objects.create_superuser(username=self.user_email, email=self.user_email)
|
|
self.user.set_password('user@1234')
|
|
self.user.save()
|
|
|
|
def test_admin_login_success(self):
|
|
"""
|
|
test admin login with valid credentials
|
|
:return:
|
|
"""
|
|
url = reverse('account:admin-login')
|
|
data = {
|
|
'email': self.user_email,
|
|
'password': 'user@1234',
|
|
}
|
|
response = self.client.post(url, data, format='json')
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
|
self.assertIn('auth_token', response.data['data'])
|
|
self.assertIn('refresh_token', response.data['data'])
|
|
self.assertEqual(response.data['data']['username'], data['email'])
|
|
|
|
def test_admin_login_invalid_credentials(self):
|
|
"""
|
|
test admin login with invalid credentials
|
|
:return:
|
|
"""
|
|
url = reverse('account:admin-login')
|
|
data = {
|
|
'email': self.user_email,
|
|
'password': 'user@1235',
|
|
}
|
|
response = self.client.post(url, data, format='json')
|
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
|
self.assertNotIn('auth_token', response.data)
|
|
self.assertNotIn('refresh_token', response.data)
|
|
|
|
# Add more test cases as needed
|
|
|