feat(registry): add new endpoints for registers, exchange, and backups; update routing and configurations
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 3m10s
CI/CD Pipeline / Run Tests (push) Successful in 3m35s
CI/CD Pipeline / Telegram Notify Success (push) Has been skipped
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m26s
CI/CD Pipeline / Run Tests (pull_request) Successful in 2m46s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 3m10s
CI/CD Pipeline / Run Tests (push) Successful in 3m35s
CI/CD Pipeline / Telegram Notify Success (push) Has been skipped
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m26s
CI/CD Pipeline / Run Tests (pull_request) Successful in 2m46s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped
This commit is contained in:
@@ -2,13 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from apps.user.admin import ProfileAdmin, UserAdmin
|
||||
from apps.user.models import Profile, User
|
||||
from django.contrib.admin.sites import AdminSite
|
||||
from django.contrib.messages.storage.fallback import FallbackStorage
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import RequestFactory, TestCase
|
||||
|
||||
from apps.user.admin import ProfileAdmin, UserAdmin
|
||||
from apps.user.models import Profile, User
|
||||
from tests.utils.fixtures import fake
|
||||
|
||||
|
||||
@@ -31,10 +31,16 @@ class UserAdminTest(TestCase):
|
||||
|
||||
def test_badges(self):
|
||||
verified = User.objects.create_user(
|
||||
email=fake.email(), username=fake.user_name(), password="pass", is_verified=True
|
||||
email=fake.email(),
|
||||
username=fake.user_name(),
|
||||
password="pass",
|
||||
is_verified=True,
|
||||
)
|
||||
unverified = User.objects.create_user(
|
||||
email=fake.email(), username=fake.user_name(), password="pass", is_verified=False
|
||||
email=fake.email(),
|
||||
username=fake.user_name(),
|
||||
password="pass",
|
||||
is_verified=False,
|
||||
)
|
||||
self.assertIn("span", str(self.admin.is_verified_badge(verified)))
|
||||
self.assertIn("span", str(self.admin.is_verified_badge(unverified)))
|
||||
|
||||
@@ -191,7 +191,7 @@ class LoginSerializerTest(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.login_data = {
|
||||
"email": fake.email(),
|
||||
"username": fake.user_name(),
|
||||
"password": fake.password(length=12, special_chars=False),
|
||||
}
|
||||
|
||||
@@ -200,16 +200,16 @@ class LoginSerializerTest(TestCase):
|
||||
serializer = LoginSerializer(data=self.login_data)
|
||||
self.assertTrue(serializer.is_valid())
|
||||
|
||||
def test_missing_email(self):
|
||||
"""Test validation fails without email"""
|
||||
def test_missing_username(self):
|
||||
"""Test validation fails without username"""
|
||||
data = {"password": fake.password(length=12, special_chars=False)}
|
||||
serializer = LoginSerializer(data=data)
|
||||
self.assertFalse(serializer.is_valid())
|
||||
self.assertIn("email", serializer.errors)
|
||||
self.assertIn("username", serializer.errors)
|
||||
|
||||
def test_missing_password(self):
|
||||
"""Test validation fails without password"""
|
||||
data = {"email": fake.email()}
|
||||
data = {"username": fake.user_name()}
|
||||
serializer = LoginSerializer(data=data)
|
||||
self.assertFalse(serializer.is_valid())
|
||||
self.assertIn("password", serializer.errors)
|
||||
|
||||
@@ -86,7 +86,7 @@ class LoginViewTest(APITestCase):
|
||||
self.password = fake.password(length=12, special_chars=False)
|
||||
self.user = UserFactory.create_user(password=self.password)
|
||||
|
||||
self.login_data = {"email": self.user.email, "password": self.password}
|
||||
self.login_data = {"username": self.user.username, "password": self.password}
|
||||
|
||||
def test_login_success(self):
|
||||
"""Test successful login"""
|
||||
@@ -109,7 +109,7 @@ class LoginViewTest(APITestCase):
|
||||
def test_login_nonexistent_user(self):
|
||||
"""Test login fails for nonexistent user"""
|
||||
data = {
|
||||
"email": fake.unique.email(),
|
||||
"username": fake.unique.user_name(),
|
||||
"password": fake.password(length=12, special_chars=False),
|
||||
}
|
||||
|
||||
@@ -302,14 +302,18 @@ class TokenRefreshViewTest(APITestCase):
|
||||
response = self.client.post(self.refresh_url, data, format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
|
||||
self.assertIn("error", response.data)
|
||||
self.assertTrue(
|
||||
"errors" in response.data
|
||||
or "detail" in response.data
|
||||
or "code" in response.data
|
||||
)
|
||||
|
||||
def test_refresh_token_missing(self):
|
||||
"""Test token refresh fails without refresh token"""
|
||||
response = self.client.post(self.refresh_url, {}, format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertIn("error", response.data)
|
||||
self.assertTrue("errors" in response.data or "detail" in response.data)
|
||||
|
||||
|
||||
class ApiJwtOnlyAuthenticationTest(APITestCase):
|
||||
|
||||
Reference in New Issue
Block a user