test(manufacturing): cover job card UOM backfill

This commit is contained in:
Mihir Kandoi
2026-08-09 23:02:58 +05:30
parent 8310b56f32
commit 94c81965a7

View File

@@ -22,6 +22,7 @@ from erpnext.manufacturing.doctype.job_card.job_card import (
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
from erpnext.manufacturing.doctype.work_order.work_order import WorkOrder, make_work_order
from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
from erpnext.patches.v16_0.set_stock_uom_in_job_card import execute as set_stock_uom_in_job_card
from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.tests.utils import ERPNextTestSuite
@@ -909,6 +910,47 @@ class TestJobCard(ERPNextTestSuite):
self.assertEqual(job_card.stock_uom, frappe.db.get_value("Item", item_code, "stock_uom"))
def test_stock_uom_patch_backfills_legacy_job_cards(self):
suffix = random_string(8)
finished_good = create_item(f"Stock UOM Patch FG {suffix}", stock_uom="Kg")
production_item = create_item(f"Stock UOM Patch Product {suffix}", stock_uom="Nos")
finished_good_job_card = self.get_first_job_card(
make_wo_order_test_record(item="_Test FG Item 2", qty=5).name
)
production_item_job_card = self.get_first_job_card(
make_wo_order_test_record(item="_Test FG Item 2", qty=6).name
)
frappe.db.set_value(
"Job Card",
finished_good_job_card.name,
{
"finished_good": finished_good.name,
"production_item": production_item.name,
"stock_uom": None,
},
update_modified=False,
)
frappe.db.set_value(
"Job Card",
production_item_job_card.name,
{"finished_good": None, "production_item": production_item.name, "stock_uom": None},
update_modified=False,
)
set_stock_uom_in_job_card()
self.assertEqual(frappe.db.get_value("Job Card", finished_good_job_card.name, "stock_uom"), "Kg")
self.assertEqual(frappe.db.get_value("Job Card", production_item_job_card.name, "stock_uom"), "Nos")
frappe.db.set_value(
"Job Card", finished_good_job_card.name, "stock_uom", "Nos", update_modified=False
)
set_stock_uom_in_job_card()
self.assertEqual(frappe.db.get_value("Job Card", finished_good_job_card.name, "stock_uom"), "Nos")
def test_completion_qty_reduces_for_quantity_without_process_loss(self):
work_order = make_wo_order_test_record(item="_Test FG Item 2", qty=5)