refactor(parsers): перенести тесты в ROOT_DIR/tests и синхронизировать контракты задач

- перенесены тесты parsers из src/apps/parsers/tests в tests/apps/parsers

- обновлены тесты задач под текущее поведение Celery (ошибки пробрасываются исключениями)

- убрана зависимость тестов от внешнего брокера через локальные eager-вызовы

- добавлены/уточнены фабрики и импорты для единой структуры тестов

- обновлены README и CHANGELOG с новым правилом размещения тестов и запуском
This commit is contained in:
2026-03-04 15:35:50 +01:00
parent 0738c53040
commit 052389d921
18 changed files with 657 additions and 284 deletions

View File

@@ -34,12 +34,15 @@ class IndustrialCertificateSerializer(serializers.ModelSerializer):
"id",
"load_batch",
"issue_date",
"issue_date_normalized",
"certificate_number",
"expiry_date",
"expiry_date_normalized",
"certificate_file_url",
"organisation_name",
"inn",
"ogrn",
"registry_organization",
"created_at",
"updated_at",
]
@@ -67,6 +70,7 @@ class ManufacturerSerializer(serializers.ModelSerializer):
"inn",
"ogrn",
"address",
"registry_organization",
"created_at",
"updated_at",
]
@@ -98,13 +102,16 @@ class InspectionSerializer(serializers.ModelSerializer):
"inspection_type",
"inspection_form",
"start_date",
"start_date_normalized",
"end_date",
"end_date_normalized",
"status",
"legal_basis",
"result",
"is_federal_law_248",
"data_year",
"data_month",
"registry_organization",
"created_at",
"updated_at",
]
@@ -135,10 +142,13 @@ class ProcurementSerializer(serializers.ModelSerializer):
"customer_ogrn",
"customer_name",
"max_price",
"max_price_amount",
"currency_code",
"placement_method",
"publish_date",
"publish_date_normalized",
"end_date",
"end_date_normalized",
"status",
"law_type",
"purchase_object_info",
@@ -146,6 +156,7 @@ class ProcurementSerializer(serializers.ModelSerializer):
"region_code",
"data_year",
"data_month",
"registry_organization",
"created_at",
"updated_at",
]
@@ -188,6 +199,7 @@ class FinancialReportSerializer(serializers.ModelSerializer):
"id",
"external_id",
"ogrn",
"registry_organization",
"file_name",
"file_hash",
"load_batch",
@@ -201,7 +213,7 @@ class FinancialReportSerializer(serializers.ModelSerializer):
read_only_fields = fields
def get_lines_count(self, obj) -> int:
return obj.lines.count()
return getattr(obj, "lines_count", obj.lines.count())
class FinancialReportDetailSerializer(FinancialReportSerializer):