feat(organization): scalar corporation_scope and scopes dictionary endpoint

This commit is contained in:
2026-04-14 10:41:12 +02:00
parent db64c9d2d9
commit 97e269fe1a
6 changed files with 129 additions and 6 deletions

View File

@@ -65,7 +65,11 @@ class OrganizationApiTest(APITestCase):
self.assertEqual(
response.data["results"][0]["active_registry_names"], ["Реестр ОПК"]
)
self.assertEqual(response.data["results"][0]["corporation_scope"], ["opk"])
self.assertEqual(response.data["results"][0]["corporation_scope"], "opk")
self.assertEqual(
response.data["results"][0]["corporation_scope_label"],
"Организации ОПК",
)
self.assertEqual(response.data["results"][0]["short_name"], "АО «Альфа»")
def test_detail_includes_active_registries(self):
@@ -102,7 +106,11 @@ class OrganizationApiTest(APITestCase):
response.data["active_registries"],
[{"id": str(register.id), "name": "Реестр Роскосмос"}],
)
self.assertEqual(response.data["corporation_scope"], ["roscosmos"])
self.assertEqual(response.data["corporation_scope"], "roscosmos")
self.assertEqual(
response.data["corporation_scope_label"],
"Госкорпорация «Роскосмос»",
)
self.assertEqual(
response.data["general_director"]["full_name"],
"Иванов Иван Иванович",
@@ -180,3 +188,26 @@ class OrganizationApiTest(APITestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data["results"]), 1)
self.assertEqual(response.data["results"][0]["id"], str(rosatom_org.id))
class OrganizationDictionaryApiTest(APITestCase):
"""Tests for organization dictionaries endpoints."""
def setUp(self):
self.user = UserFactory.create_user()
self.client.force_authenticate(self.user)
def test_corporation_scopes_dictionary_returns_sorted_results(self):
response = self.client.get("/api/v1/dictionaries/corporation-scopes/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertIn("results", response.data)
self.assertGreaterEqual(len(response.data["results"]), 3)
sort_orders = [item["sort_order"] for item in response.data["results"]]
self.assertEqual(sort_orders, sorted(sort_orders))
first_item = response.data["results"][0]
self.assertEqual(first_item["code"], "rosatom")
self.assertIn("short_name", first_item)
self.assertIn("name", first_item)
self.assertIn("sort_order", first_item)