fix(user): restore admin users list contract
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 3m18s
CI/CD Pipeline / Run Tests (pull_request) Successful in 4m9s
CI/CD Pipeline / Run API Inventory E2E Tests (pull_request) Successful in 1m30s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped

This commit is contained in:
2026-03-23 12:39:30 +01:00
parent 30eb62829f
commit d030c705ac
3 changed files with 131 additions and 7 deletions

View File

@@ -254,7 +254,11 @@ class AdminUserManagementViewTest(APITestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(
set(response.data[0].keys()),
set(response.data.keys()),
{"count", "next", "previous", "results"},
)
self.assertEqual(
set(response.data["results"][0].keys()),
{
"id",
"username",
@@ -263,9 +267,14 @@ class AdminUserManagementViewTest(APITestCase):
"is_active",
"role",
"role_label",
"profile",
},
)
usernames = {item["username"] for item in response.data}
self.assertEqual(
set(response.data["results"][0]["profile"].keys()),
{"first_name", "middle_name", "last_name", "full_name"},
)
usernames = {item["username"] for item in response.data["results"]}
self.assertIn(self.admin.username, usernames)
self.assertIn(self.user.username, usernames)
@@ -282,7 +291,7 @@ class AdminUserManagementViewTest(APITestCase):
response = self.client.get(self.list_url, {"search": "Петрович"})
self.assertEqual(response.status_code, status.HTTP_200_OK)
usernames = [item["username"] for item in response.data]
usernames = [item["username"] for item in response.data["results"]]
self.assertEqual(usernames, [self.user.username])
def test_admin_can_order_users(self):
@@ -294,7 +303,7 @@ class AdminUserManagementViewTest(APITestCase):
response = self.client.get(self.list_url, {"ordering": "first_name"})
self.assertEqual(response.status_code, status.HTTP_200_OK)
ordered_ids = [item["id"] for item in response.data]
ordered_ids = [item["id"] for item in response.data["results"]]
self.assertLess(ordered_ids.index(second.id), ordered_ids.index(first.id))
def test_admin_can_create_user_with_role(self):

View File

@@ -245,6 +245,12 @@ class UserApiInventoryE2ETest(AuthenticatedApiMixin, APITestCase):
self.authenticate(self.admin)
list_response = self.client.get(reverse("api_v1:user:admin-users"))
self.assertEqual(list_response.status_code, status.HTTP_200_OK)
self.assertEqual(
set(list_response.data.keys()),
{"count", "next", "previous", "results"},
)
self.assertTrue(list_response.data["results"])
self.assertIn("profile", list_response.data["results"][0])
create_payload = {
"email": fake.unique.email(),