fix(parsers): unblock source status and heavy product import
This commit is contained in:
@@ -5,6 +5,7 @@ from types import SimpleNamespace
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from apps.core.models import BackgroundJob, JobStatus
|
||||
from apps.parsers.models import GenericParserRecord, ParserLoadLog
|
||||
from apps.parsers.source_cards import (
|
||||
SourceCardDefinition,
|
||||
SourceCardService,
|
||||
@@ -296,6 +297,42 @@ class SourceCardServiceUnitTest(SimpleTestCase):
|
||||
|
||||
@override_settings(PARSER_STALE_LOAD_MAX_AGE_MINUTES=90)
|
||||
class SourceCardServiceDatabaseTest(TestCase):
|
||||
def test_public_procurements_counts_generic_eis_sources(self):
|
||||
GenericParserRecord.objects.create(
|
||||
source=ParserLoadLog.Source.PROCUREMENTS_44FZ,
|
||||
load_batch=1,
|
||||
external_id="notice-1",
|
||||
inn="7701234567",
|
||||
title="Закупка 44-ФЗ",
|
||||
payload={"number": "notice-1"},
|
||||
)
|
||||
GenericParserRecord.objects.create(
|
||||
source=ParserLoadLog.Source.CONTRACTS,
|
||||
load_batch=1,
|
||||
external_id="contract-1",
|
||||
inn="7701234567",
|
||||
title="Контракт ЕИС",
|
||||
payload={"number": "contract-1"},
|
||||
)
|
||||
ParserLoadLog.objects.create(
|
||||
source=ParserLoadLog.Source.PROCUREMENTS_44FZ,
|
||||
batch_id=1,
|
||||
records_count=1,
|
||||
status=ParserLoadLog.Status.SUCCESS,
|
||||
)
|
||||
ParserLoadLog.objects.create(
|
||||
source=ParserLoadLog.Source.CONTRACTS,
|
||||
batch_id=1,
|
||||
records_count=1,
|
||||
status=ParserLoadLog.Status.SUCCESS,
|
||||
)
|
||||
|
||||
card = SourceCardService.get_card("public-procurements")
|
||||
|
||||
self.assertEqual(card["status"], "success")
|
||||
self.assertEqual(card["records_count"], 2)
|
||||
self.assertEqual(card["organizations_count"], 1)
|
||||
|
||||
def test_get_active_tasks_ignores_old_jobs_even_when_updated_recently(self):
|
||||
job = BackgroundJob.objects.create(
|
||||
task_id="old-source-task",
|
||||
|
||||
Reference in New Issue
Block a user