From 7e7fd610cb9fa6240b952fe654884ea81757eca6 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 2 Jul 2026 14:08:19 +0530 Subject: [PATCH] test: guard job card list and derive status filter from stored status --- .../job_card_summary/test_job_card_summary.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/report/job_card_summary/test_job_card_summary.py b/erpnext/manufacturing/report/job_card_summary/test_job_card_summary.py index 81af722ad50..6e59a0d559d 100644 --- a/erpnext/manufacturing/report/job_card_summary/test_job_card_summary.py +++ b/erpnext/manufacturing/report/job_card_summary/test_job_card_summary.py @@ -54,6 +54,7 @@ class TestJobCardSummary(ERPNextTestSuite): self.assertEqual(row.get("production_item"), jc.production_item) def test_operation_filter_scopes_rows(self): + self.assertTrue(self.job_cards, "Work Order did not produce any Job Cards") operation = self.job_cards[0].operation matching = {jc.name for jc in self.job_cards if jc.operation == operation} @@ -61,8 +62,18 @@ class TestJobCardSummary(ERPNextTestSuite): self.assertEqual({row.get("name") for row in rows}, matching) def test_status_filter(self): - open_rows = self.rows_for_work_order(self.run_report(status="Open")) - self.assertEqual({row.get("name") for row in open_rows}, {jc.name for jc in self.job_cards}) + self.assertTrue(self.job_cards, "Work Order did not produce any Job Cards") + + # The status filter matches the Job Card's *stored* status, so derive the + # expected set from that rather than assuming fresh cards are literally "Open". + stored_status = self.job_cards[0].status + expected = {jc.name for jc in self.job_cards if jc.status == stored_status} + + rows = self.rows_for_work_order(self.run_report(status=stored_status)) + self.assertEqual({row.get("name") for row in rows}, expected) + # any non-completed card is displayed as "Open" regardless of its stored status + for row in rows: + self.assertEqual(row.get("status"), "Open") # None of the freshly created job cards are Completed yet. completed_rows = self.rows_for_work_order(self.run_report(status="Completed"))