fix: replace stale financial report lines
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m58s
CI/CD Pipeline / Run Tests (push) Successful in 4m15s
CI/CD Pipeline / Build and Push Dev Images (push) Successful in 34s
CI/CD Pipeline / Deploy Dev via Compose (push) Successful in 33s

This commit is contained in:
2026-08-09 13:22:09 +02:00
parent ea9704f215
commit 1662f49810
2 changed files with 67 additions and 2 deletions

View File

@@ -769,6 +769,51 @@ class ExchangePackageApiTest(APITestCase):
duplicate_import = ExchangePackageImport.objects.order_by("-created_at").first()
self.assertIsNotNone(duplicate_import.duplicate_of)
def test_upload_replaces_stale_financial_report_lines(self):
first_payload = build_exchange_payload()
first_archive = build_exchange_archive(
package_id="pkg-financial-year-2025",
data=first_payload,
)
first_response = self.client.post(
self.url,
{"file": first_archive},
format="multipart",
HTTP_X_EXCHANGE_TOKEN=TEST_TOKEN,
)
self.assertEqual(first_response.status_code, status.HTTP_201_CREATED)
self.assertEqual(
list(FinancialReportLine.objects.values_list("year", flat=True)),
[2025],
)
second_payload = build_exchange_payload()
second_payload["financial_reports"][0]["lines"][0]["year"] = 2026
second_archive = build_exchange_archive(
package_id="pkg-financial-year-2026",
data=second_payload,
)
second_response = self.client.post(
self.url,
{"file": second_archive},
format="multipart",
HTTP_X_EXCHANGE_TOKEN=TEST_TOKEN,
)
self.assertEqual(second_response.status_code, status.HTTP_201_CREATED)
self.assertEqual(
list(FinancialReportLine.objects.values_list("year", flat=True)),
[2026],
)
self.assertEqual(
second_response.data["result"]["financial_reports"]["created_lines"],
1,
)
self.assertEqual(
second_response.data["result"]["financial_reports"]["deleted_lines"],
1,
)
def test_cli_import_uses_same_pipeline(self):
archive = build_exchange_archive(
package_id="pkg-cli-001",