Files
state-corp-backend/tests/apps/organization/test_models.py
Aleksandr Meshchriakov f93663b2a4
All checks were successful
CI/CD Pipeline / Run Tests (push) Successful in 3m27s
CI/CD Pipeline / Code Quality Checks (push) Successful in 3m47s
CI/CD Pipeline / Build and Push Dev Images (push) Successful in 2m17s
CI/CD Pipeline / Deploy Dev via Compose (push) Successful in 29s
feat: import organization exchange v3
2026-06-13 14:07:40 +02:00

79 lines
2.8 KiB
Python

"""Tests for Organization model."""
from django.test import TestCase
from .factories import OrganizationFactory
class OrganizationModelTest(TestCase):
"""Tests for Organization model."""
def setUp(self):
self.org = OrganizationFactory.create()
def test_organization_creation(self):
"""Test organization creation."""
self.assertIsNotNone(self.org.id)
self.assertTrue(self.org.name)
self.assertTrue(self.org.inn)
def test_organization_str_representation(self):
"""Test string representation."""
expected = f"{self.org.name} (ИНН: {self.org.inn})"
self.assertEqual(str(self.org), expected)
def test_inn_unique(self):
"""Test INN field is unique."""
self.assertTrue(self.org._meta.get_field("inn").unique)
def test_inn_max_length(self):
"""Test INN max length."""
self.assertEqual(self.org._meta.get_field("inn").max_length, 12)
def test_ogrn_max_length(self):
"""Test OGRN max length."""
self.assertEqual(self.org._meta.get_field("ogrn").max_length, 15)
def test_kpp_max_length(self):
"""Test KPP max length."""
self.assertEqual(self.org._meta.get_field("kpp").max_length, 9)
def test_name_max_length(self):
"""Test name max length."""
self.assertEqual(self.org._meta.get_field("name").max_length, 500)
def test_timestamps_auto_created(self):
"""Test timestamps are auto-created."""
self.assertIsNotNone(self.org.created_at)
self.assertIsNotNone(self.org.updated_at)
def test_ogrn_index_exists(self):
"""Test OGRN has db_index."""
self.assertTrue(self.org._meta.get_field("ogrn").db_index)
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(),
["Росатом", "Участие в ГОЗ", "Росатом ОПК"],
)
self.assertEqual(
self.org.active_registry_names_display(),
"Росатом, Участие в ГОЗ, Росатом ОПК",
)
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(
self.org.get_corporation_scope_labels(),
["Госкорпорация «Росатом»", "Организации ОПК"],
)