fix: replace stale financial report lines
All checks were successful
All checks were successful
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user