test(stock): validate completed status for mixed transfer methods

This commit is contained in:
pandiyan
2026-06-16 17:06:26 +05:30
parent 02d41b1dac
commit 1dbdf85ddc

View File

@@ -1145,6 +1145,52 @@ class TestMaterialRequest(ERPNextTestSuite):
se.save()
se.submit()
def test_mr_status_for_mixed_direct_and_transit_transfer(self):
material_request = make_material_request(
material_request_type="Material Transfer",
item_code="_Test Item Home Desktop 100",
qty=5,
)
in_transit_wh = get_in_transit_warehouse(material_request.company)
# Make stock available
self._insert_stock_entry(20.0, 20.0)
# Direct Transfer for 3 Qty
direct_transfer = make_stock_entry(material_request.name)
direct_transfer.items[0].update(
{
"qty": 3,
"transfer_qty": 3,
"s_warehouse": "_Test Warehouse 1 - _TC",
}
)
direct_transfer.save()
direct_transfer.submit()
# In Transit Transfer for remaining 2 Qty
transit_transfer = make_in_transit_stock_entry(material_request.name, in_transit_wh)
transit_transfer.items[0].update(
{
"qty": 2,
"s_warehouse": "_Test Warehouse 1 - _TC",
}
)
transit_transfer.save()
transit_transfer.submit()
# Complete End Transit
end_transit = make_stock_in_entry(transit_transfer.name)
end_transit.save()
end_transit.submit()
material_request.reload()
self.assertEqual(material_request.per_ordered, 100)
self.assertEqual(material_request.status, "Transferred")
self.assertEqual(material_request.transfer_status, "Completed")
def get_in_transit_warehouse(company):
if not frappe.db.exists("Warehouse Type", "Transit"):