Files
dashboard-cpsp-executive/backend/apps/accounts/tests_user_login.py
T
2026-09-08 15:52:30 +07:00

46 lines
1.5 KiB
Python

from django.contrib.auth import authenticate
from django.test import Client, TestCase
from apps.accounts.models import User
class UserLoginFieldTests(TestCase):
def test_authenticate_uses_user_login_not_user_name(self):
User.objects.create_user(
user_login="gm.login",
password="gm123",
user_name="gm",
status=User.STATUS_GM,
)
self.assertIsNotNone(
authenticate(username="gm.login", password="gm123")
)
self.assertIsNone(authenticate(username="gm", password="gm123"))
def test_create_user_defaults_user_name_to_login(self):
user = User.objects.create_user(user_login="solo", password="x")
self.assertEqual(user.user_login, "solo")
self.assertEqual(user.user_name, "solo")
class LoginApiUserLoginTests(TestCase):
def test_login_accepts_user_login(self):
User.objects.create_user(
user_login="gm.login",
password="gm123",
user_name="gm",
status=User.STATUS_GM,
)
client = Client()
client.get("/api/v1/auth/csrf/")
token = client.cookies["csrftoken"].value
response = client.post(
"/api/v1/auth/login/",
{"user_login": "gm.login", "password": "gm123"},
content_type="application/json",
HTTP_X_CSRFTOKEN=token,
)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()["user_login"], "gm.login")
self.assertEqual(response.json()["user_name"], "gm")