fix: preserve source export record counts
All checks were successful
CI/CD Pipeline / Quality Gate (push) Successful in 30s
CI/CD Pipeline / Build and Push Images (push) Successful in 34s
CI/CD Pipeline / Internal Notify (push) Successful in 0s
CI/CD Pipeline / Deploy Dev via Compose (push) Successful in 32s

This commit is contained in:
2026-08-04 12:24:09 +02:00
parent de5c1aa4cc
commit eaf8a18f8b
3 changed files with 39 additions and 32 deletions

View File

@@ -389,7 +389,7 @@ class OrganizationSourceRecordExportApiV2Test(APITestCase):
self.assertEqual(package.files_count, 2)
self.assertFalse((Path(self.export_directory.name) / "tmp").exists())
def test_prepared_files_include_okpo_and_exclude_provider_records(self):
def test_prepared_files_include_all_records_and_hide_provider_mentions(self):
organization = Organization.objects.create(
name='ООО "Публичная выгрузка"',
inn="7707083888",
@@ -436,11 +436,17 @@ class OrganizationSourceRecordExportApiV2Test(APITestCase):
headers[:5],
["Наименование", "ИНН", "ОГРН", "КПП", "ОКПО"],
)
self.assertEqual(records_count, 1)
self.assertEqual(records_count, 2)
spooled_rows = json.loads(spool_path.read_text(encoding="utf-8"))
self.assertEqual(spooled_rows[0]["ОКПО"], "11223344")
self.assertEqual(spooled_rows[0]["uid"], str(included_record.uid))
self.assertEqual(spooled_rows[0]["payload.checkout_marker"], "checkout_sha")
rows_by_uid = {row["uid"]: row for row in spooled_rows}
self.assertEqual(
set(rows_by_uid), {str(source_record.uid), str(included_record.uid)}
)
provider_row = rows_by_uid[str(source_record.uid)]
self.assertEqual(provider_row["ОКПО"], "11223344")
self.assertEqual(provider_row["source"], "external-source")
self.assertEqual(provider_row["payload.provider"], "external-source")
self.assertEqual(provider_row["payload.checkout_marker"], "checkout_sha")
for file_format in ("json", "csv", "xlsx"):
artifact_path = export_directory / f"artifact.{file_format}"
@@ -464,8 +470,14 @@ class OrganizationSourceRecordExportApiV2Test(APITestCase):
else:
workbook = load_workbook(artifact_path, read_only=True)
exported_values = list(workbook["data"].iter_rows(values_only=True))
self.assertNotIn(str(source_record.uid), str(exported_values))
serialized_values = str(exported_values)
self.assertIn(str(source_record.uid), serialized_values)
self.assertIn(str(included_record.uid), str(exported_values))
self.assertNotRegex(
serialized_values,
r"(?i)(?<![a-zа-яё0-9])(?:checko(?:\.ru)?|чеко|чекало|чекко)"
r"(?![a-zа-яё0-9])",
)
source_record.refresh_from_db()
self.assertEqual(source_record.source, "checko")