test: add test for pending qty calculation in Pick List

This commit is contained in:
Kavin
2025-11-09 00:48:27 +05:30
parent 6db605c443
commit 3f7a60d56c

View File

@@ -13,6 +13,7 @@ from frappe.utils import flt, today
from erpnext.controllers.accounts_controller import InvalidQtyError
from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.material_request.material_request import (
create_pick_list,
make_in_transit_stock_entry,
make_purchase_order,
make_stock_entry,
@@ -945,6 +946,36 @@ class TestMaterialRequest(IntegrationTestCase):
self.assertRaises(OverAllowanceError, mr.submit)
def test_pending_qty_in_pick_list(self):
"""Test for pick list mapped doc qty from partially received Material Request Transfer"""
import json
from erpnext.stock.doctype.pick_list.pick_list import create_stock_entry
mr = make_material_request(material_request_type="Material Transfer")
pl = create_pick_list(mr.name)
pl.save()
pl.locations[0].qty = 5
pl.locations[0].stock_qty = 5
pl.submit()
to_warehouse = create_warehouse("Test To Warehouse")
se_data = create_stock_entry(json.dumps(pl.as_dict()))
se = frappe.get_doc(se_data)
se.items[0].t_warehouse = to_warehouse
se.save()
se.submit()
pl.load_from_db()
self.assertEqual(pl.locations[0].picked_qty, se.items[0].qty)
mr.load_from_db()
self.assertEqual(mr.status, "Partially Received")
pl_for_pending = create_pick_list(mr.name)
self.assertEqual(pl_for_pending.locations[0].qty, 5)
def get_in_transit_warehouse(company):
if not frappe.db.exists("Warehouse Type", "Transit"):