feat: import organization exchange v3
All checks were successful
All checks were successful
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
"""Tests for Organization model."""
|
||||
|
||||
from datetime import date
|
||||
|
||||
from apps.registers.models import Register, RegisterUpload, RegistryMembershipPeriod
|
||||
from django.test import TestCase
|
||||
|
||||
from .factories import OrganizationFactory
|
||||
@@ -54,73 +51,25 @@ class OrganizationModelTest(TestCase):
|
||||
"""Test OGRN has db_index."""
|
||||
self.assertTrue(self.org._meta.get_field("ogrn").db_index)
|
||||
|
||||
def test_active_registry_names_include_only_current_memberships(self):
|
||||
"""Test only active registry memberships are shown on organization."""
|
||||
active_register = Register.objects.create(name="Активный реестр")
|
||||
inactive_register = Register.objects.create(name="Неактуальный реестр")
|
||||
active_upload = RegisterUpload.objects.create(
|
||||
registry=active_register,
|
||||
actual_date=date(2026, 3, 1),
|
||||
file_name="active.xlsx",
|
||||
file_hash="active-hash",
|
||||
rows_count=1,
|
||||
def test_active_registry_names_are_derived_from_organization_fields(self):
|
||||
"""Test registry display names are derived from organization directory fields."""
|
||||
self.org.gk_name = "Росатом"
|
||||
self.org.goz_participation = True
|
||||
self.org.opk_registry_membership = True
|
||||
self.org.ropk_razdel_name = "Росатом ОПК"
|
||||
|
||||
self.assertEqual(
|
||||
self.org.get_active_registry_names(),
|
||||
["Росатом", "Участие в ГОЗ", "Росатом ОПК"],
|
||||
)
|
||||
inactive_upload = RegisterUpload.objects.create(
|
||||
registry=inactive_register,
|
||||
actual_date=date(2026, 2, 1),
|
||||
file_name="inactive.xlsx",
|
||||
file_hash="inactive-hash",
|
||||
rows_count=1,
|
||||
self.assertEqual(
|
||||
self.org.active_registry_names_display(),
|
||||
"Росатом, Участие в ГОЗ, Росатом ОПК",
|
||||
)
|
||||
|
||||
RegistryMembershipPeriod.objects.create(
|
||||
registry=active_register,
|
||||
organization=self.org,
|
||||
started_at=date(2026, 3, 1),
|
||||
started_by_upload=active_upload,
|
||||
)
|
||||
RegistryMembershipPeriod.objects.create(
|
||||
registry=inactive_register,
|
||||
organization=self.org,
|
||||
started_at=date(2026, 2, 1),
|
||||
ended_at=date(2026, 3, 1),
|
||||
started_by_upload=inactive_upload,
|
||||
ended_by_upload=inactive_upload,
|
||||
)
|
||||
|
||||
self.assertEqual(self.org.get_active_registry_names(), ["Активный реестр"])
|
||||
self.assertEqual(self.org.active_registry_names_display(), "Активный реестр")
|
||||
|
||||
def test_corporation_scopes_are_derived_from_active_registers(self):
|
||||
rosatom_register = Register.objects.create(name="Реестр госкорпорации Росатом")
|
||||
opk_register = Register.objects.create(name="Реестр предприятий ОПК")
|
||||
upload = RegisterUpload.objects.create(
|
||||
registry=rosatom_register,
|
||||
actual_date=date(2026, 4, 1),
|
||||
file_name="scopes.xlsx",
|
||||
file_hash="scopes-hash",
|
||||
rows_count=2,
|
||||
)
|
||||
opk_upload = RegisterUpload.objects.create(
|
||||
registry=opk_register,
|
||||
actual_date=date(2026, 4, 1),
|
||||
file_name="scopes-opk.xlsx",
|
||||
file_hash="scopes-opk-hash",
|
||||
rows_count=2,
|
||||
)
|
||||
|
||||
RegistryMembershipPeriod.objects.create(
|
||||
registry=rosatom_register,
|
||||
organization=self.org,
|
||||
started_at=date(2026, 4, 1),
|
||||
started_by_upload=upload,
|
||||
)
|
||||
RegistryMembershipPeriod.objects.create(
|
||||
registry=opk_register,
|
||||
organization=self.org,
|
||||
started_at=date(2026, 4, 1),
|
||||
started_by_upload=opk_upload,
|
||||
)
|
||||
def test_corporation_scopes_are_derived_from_organization_fields(self):
|
||||
self.org.gk_name = "Росатом"
|
||||
self.org.opk_registry_membership = True
|
||||
|
||||
self.assertEqual(self.org.get_corporation_scopes(), ["rosatom", "opk"])
|
||||
self.assertEqual(
|
||||
|
||||
Reference in New Issue
Block a user