feat: migrate parser data to source records
This commit is contained in:
@@ -10,10 +10,14 @@ from unittest.mock import patch
|
||||
|
||||
from apps.core.models import BackgroundJob
|
||||
from apps.parsers.fns_upload import FNSUploadService
|
||||
from apps.parsers.models import FinancialReport, FinancialReportLine
|
||||
from apps.parsers.models import FinancialReport
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import override_settings
|
||||
from django.urls import reverse
|
||||
from organizations.models import (
|
||||
OrganizationSourceFinancialLine,
|
||||
OrganizationSourceRecord,
|
||||
)
|
||||
from openpyxl import Workbook
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
@@ -93,11 +97,16 @@ class FNSUploadIntegrationTest(APITestCase):
|
||||
self.assertEqual(response.data["queued"], 1)
|
||||
self.assertEqual(response.data["skipped"], 0)
|
||||
|
||||
self.assertEqual(FinancialReport.objects.count(), 1)
|
||||
report = FinancialReport.objects.first()
|
||||
self.assertEqual(FinancialReport.objects.count(), 0)
|
||||
self.assertEqual(OrganizationSourceRecord.objects.count(), 1)
|
||||
report = OrganizationSourceRecord.objects.first()
|
||||
self.assertEqual(report.external_id, external_id)
|
||||
self.assertEqual(report.ogrn, ogrn)
|
||||
self.assertTrue(FinancialReportLine.objects.filter(report=report).exists())
|
||||
self.assertTrue(
|
||||
OrganizationSourceFinancialLine.objects.filter(
|
||||
source_record=report
|
||||
).exists()
|
||||
)
|
||||
|
||||
processed_path = os.path.join(processed_dir, filename)
|
||||
self.assertTrue(os.path.exists(processed_path))
|
||||
@@ -145,7 +154,8 @@ class FNSUploadIntegrationTest(APITestCase):
|
||||
self.assertEqual(second.data["queued"], 0)
|
||||
self.assertEqual(second.data["skipped"], 1)
|
||||
|
||||
self.assertEqual(FinancialReport.objects.count(), 1)
|
||||
self.assertEqual(FinancialReport.objects.count(), 0)
|
||||
self.assertEqual(OrganizationSourceRecord.objects.count(), 1)
|
||||
self.assertFalse(os.path.exists(os.path.join(watch_dir, filename)))
|
||||
self.assertFalse(
|
||||
os.path.exists(os.path.join(watch_dir, f"{filename}.lock"))
|
||||
@@ -521,8 +531,9 @@ class FNSUploadIntegrationTest(APITestCase):
|
||||
self.assertEqual(result.queued, 2)
|
||||
self.assertEqual(result.skipped, 0)
|
||||
self.assertEqual(result.invalid, 2)
|
||||
self.assertEqual(FinancialReport.objects.count(), 2)
|
||||
self.assertEqual(FinancialReportLine.objects.count(), 2)
|
||||
self.assertEqual(FinancialReport.objects.count(), 0)
|
||||
self.assertEqual(OrganizationSourceRecord.objects.count(), 2)
|
||||
self.assertEqual(OrganizationSourceFinancialLine.objects.count(), 2)
|
||||
|
||||
def test_queue_zip_archive_rejects_bad_zip(self):
|
||||
archive_upload = SimpleUploadedFile(
|
||||
|
||||
Reference in New Issue
Block a user