feat: migrate parser data to source records
Some checks failed
CI/CD Pipeline / Quality Gate (push) Failing after 14s
CI/CD Pipeline / Build and Push Images (push) Has been skipped
CI/CD Pipeline / Deploy Dev in Dokploy (push) Has been skipped
CI/CD Pipeline / Internal Notify (push) Successful in 0s

This commit is contained in:
2026-05-19 20:21:31 +02:00
parent 1c7c7238be
commit b8a18d6da4
46 changed files with 2689 additions and 6179 deletions

View File

@@ -67,6 +67,51 @@ class DirectIngestionParserServicesTest(TestCase):
self.assertEqual(record.payload["expiry_date_normalized"], "2029-02-01")
self.assertEqual(record.url, "https://example.test/cert.pdf")
def test_industrial_certificate_save_records_skips_records_without_certificate_number(self):
saved = IndustrialCertificateService.save_certificates(
[
IndustrialCertificate(
issue_date="01.02.2026",
certificate_number="",
expiry_date="2029-02-01",
certificate_file_url="-",
organisation_name='ООО "Без номера"',
inn="7707083801",
ogrn="1027700132001",
),
IndustrialCertificate(
issue_date="01.02.2026",
certificate_number="CERT-DIRECT-2",
expiry_date="2029-02-01",
certificate_file_url="https://example.test/cert-2.pdf",
organisation_name='ООО "С номером"',
inn="7707083802",
ogrn="1027700132002",
),
],
batch_id=48,
)
self.assertEqual(saved, 1)
self.assertEqual(
OrganizationSourceRecord.objects.filter(
source=ParserLoadLog.Source.INDUSTRIAL,
).count(),
1,
)
self.assertTrue(
OrganizationSourceRecord.objects.filter(
source=ParserLoadLog.Source.INDUSTRIAL,
external_id="CERT-DIRECT-2",
).exists()
)
self.assertFalse(
OrganizationSourceRecord.objects.filter(
source=ParserLoadLog.Source.INDUSTRIAL,
external_id="",
).exists()
)
def test_manufacturer_save_records_writes_organization_source_records(self):
saved = ManufacturerService.save_manufacturers(
[