fix: exclude demo companies from state corp exchange

This commit is contained in:
2026-07-22 14:23:04 +02:00
parent 58d5b27454
commit bd6f505091
2 changed files with 29 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ from apps.parsers.models import (
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
from django.test import TestCase, override_settings
from organizations.models import Organization
from organizations.test_companies import TestCompanyDatasetService
from tests.apps.parsers.factories import (
IndustrialCertificateRecordFactory,
@@ -67,6 +68,30 @@ TEST_STATE_CORP_TOKEN = "state-corp-test-exchange-token" # noqa: S105
class StateCorpExchangeServiceTest(TestCase):
"""Verify package compatibility with state-corp receiver contract."""
def test_default_package_excludes_deterministic_test_companies(self):
real_organization = Organization.objects.create(
rn=1001,
name="Реальная организация",
inn="7707083893",
gk_name="Росатом",
)
Organization.objects.create(
uid=TestCompanyDatasetService.company_uids()[0],
rn=9001,
name="Тестовая компания 1",
inn="7700000001",
gk_name="Росатом",
)
package = StateCorpExchangeService.build_package()
payload = _decode_package_payload(package)
self.assertEqual(package.payload_counts["organizations"], 1)
self.assertEqual(
[row["mostovik_uid"] for row in payload["data"]["organizations"]],
[str(real_organization.uid)],
)
def test_build_package_contains_expected_payload(self):
organization = Organization.objects.create(
rn=1001,