""" 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