Fix admin API gaps for users, exchange checks, and parser logs

This commit is contained in:
2026-03-19 16:48:38 +01:00
parent 25176f31b4
commit 941c268d32
22 changed files with 817 additions and 28 deletions

View File

@@ -181,11 +181,27 @@ class AdminUserCreateSerializerTest(TestCase):
"is_active": True,
"is_verified": False,
"first_name": fake.first_name(),
"middle_name": fake.first_name(),
"last_name": fake.last_name(),
}
)
self.assertTrue(serializer.is_valid(), serializer.errors)
def test_admin_user_create_requires_first_and_last_name(self):
serializer = AdminUserCreateSerializer(
data={
"email": fake.unique.email(),
"username": fake.unique.user_name(),
"phone": f"+7{fake.numerify('##########')}",
"password": fake.password(length=12, special_chars=False),
"role": "user",
}
)
self.assertFalse(serializer.is_valid())
self.assertIn("first_name", serializer.errors)
self.assertIn("last_name", serializer.errors)
class AdminUserUpdateSerializerTest(TestCase):
"""Tests for AdminUserUpdateSerializer."""
@@ -200,6 +216,7 @@ class AdminUserUpdateSerializerTest(TestCase):
"role": "admin",
"is_active": False,
"first_name": fake.first_name(),
"middle_name": fake.first_name(),
},
partial=True,
)
@@ -217,6 +234,7 @@ class ProfileUpdateSerializerTest(TestCase):
"""Test valid profile update data"""
update_data = {
"first_name": fake.first_name(),
"middle_name": fake.first_name(),
"last_name": fake.last_name(),
"bio": fake.text(max_nb_chars=200),
"date_of_birth": str(fake.date_of_birth(minimum_age=18, maximum_age=80)),
@@ -229,13 +247,21 @@ class ProfileUpdateSerializerTest(TestCase):
updated_profile = serializer.save()
self.assertEqual(updated_profile.first_name, update_data["first_name"])
self.assertEqual(updated_profile.middle_name, update_data["middle_name"])
self.assertEqual(updated_profile.last_name, update_data["last_name"])
self.assertEqual(updated_profile.bio, update_data["bio"])
def test_fields_allowed(self):
"""Test only allowed fields can be updated"""
serializer = ProfileUpdateSerializer()
allowed_fields = ["first_name", "last_name", "bio", "avatar", "date_of_birth"]
allowed_fields = [
"first_name",
"middle_name",
"last_name",
"bio",
"avatar",
"date_of_birth",
]
self.assertEqual(set(serializer.Meta.fields), set(allowed_fields))