Extend organization analytics contract and fix test warnings
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1m42s
CI/CD Pipeline / Run Tests (push) Successful in 1m45s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped

This commit is contained in:
2026-04-19 12:23:38 +02:00
parent f662e55139
commit 8ead5ebadc
14 changed files with 1348 additions and 130 deletions

View File

@@ -70,6 +70,8 @@ class OrganizationApiTest(APITestCase):
response.data["results"][0]["corporation_scope_label"],
"Организации ОПК",
)
self.assertEqual(response.data["results"][0]["registry_category"], "opk")
self.assertEqual(response.data["results"][0]["registry_category_label"], "ОПК")
self.assertEqual(response.data["results"][0]["short_name"], "АО «Альфа»")
def test_detail_includes_active_registries(self):
@@ -111,6 +113,8 @@ class OrganizationApiTest(APITestCase):
response.data["corporation_scope_label"],
"Госкорпорация «Роскосмос»",
)
self.assertEqual(response.data["registry_category"], "other")
self.assertEqual(response.data["registry_category_label"], "Прочие")
self.assertEqual(
response.data["general_director"]["full_name"],
"Иванов Иван Иванович",
@@ -189,6 +193,53 @@ class OrganizationApiTest(APITestCase):
self.assertEqual(len(response.data["results"]), 1)
self.assertEqual(response.data["results"][0]["id"], str(rosatom_org.id))
def test_registry_category_filters_support_snake_and_camel_case(self):
opk_org = OrganizationFactory.create(name="АО ОПК")
goz_org = OrganizationFactory.create(name="АО ГОЗ", in_275_fz_registry=True)
other_org = OrganizationFactory.create(name="АО Прочие")
opk_register = Register.objects.create(name="Реестр предприятий ОПК")
goz_register = Register.objects.create(name="Реестр госкорпорации Росатом ГОЗ")
upload = RegisterUpload.objects.create(
registry=opk_register,
actual_date=date(2026, 4, 1),
file_name="registry-category.xlsx",
file_hash="registry-category-hash",
rows_count=2,
)
goz_upload = RegisterUpload.objects.create(
registry=goz_register,
actual_date=date(2026, 4, 1),
file_name="registry-category-goz.xlsx",
file_hash="registry-category-goz-hash",
rows_count=1,
)
RegistryMembershipPeriod.objects.create(
registry=opk_register,
organization=opk_org,
started_at=date(2026, 4, 1),
started_by_upload=upload,
)
RegistryMembershipPeriod.objects.create(
registry=goz_register,
organization=goz_org,
started_at=date(2026, 4, 1),
started_by_upload=goz_upload,
)
response = self.client.get("/api/v1/organizations/?registry_category=goz")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual([item["id"] for item in response.data["results"]], [str(goz_org.id)])
response = self.client.get("/api/v1/organizations/?registryCategory=opk")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual([item["id"] for item in response.data["results"]], [str(opk_org.id)])
response = self.client.get("/api/v1/organizations/?registry_category=other")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertIn(str(other_org.id), [item["id"] for item in response.data["results"]])
class OrganizationDictionaryApiTest(APITestCase):
"""Tests for organization dictionaries endpoints."""