test: Add test to check creation of pick list from multiple sales order
diff --git a/erpnext/stock/doctype/pick_list/test_pick_list.py b/erpnext/stock/doctype/pick_list/test_pick_list.py
index d32e345..6b4f73b 100644
--- a/erpnext/stock/doctype/pick_list/test_pick_list.py
+++ b/erpnext/stock/doctype/pick_list/test_pick_list.py
@@ -40,7 +40,7 @@
'stock_qty': 5,
'conversion_factor': 1,
'sales_order': '_T-Sales Order-1',
- 'sales_item': '_T-Sales Order-1_item',
+ 'sales_order_item': '_T-Sales Order-1_item',
}]
})
pick_list.set_item_locations()
@@ -93,7 +93,7 @@
'stock_qty': 1000,
'conversion_factor': 1,
'sales_order': '_T-Sales Order-1',
- 'sales_item': '_T-Sales Order-1_item',
+ 'sales_order_item': '_T-Sales Order-1_item',
}]
})
@@ -134,7 +134,7 @@
'stock_qty': 1000,
'conversion_factor': 1,
'sales_order': '_T-Sales Order-1',
- 'sales_item': '_T-Sales Order-1_item',
+ 'sales_order_item': '_T-Sales Order-1_item',
}]
})
@@ -144,8 +144,68 @@
self.assertEqual(pick_list.locations[0].qty, 5)
self.assertEqual(pick_list.locations[0].serial_no, '123450\n123451\n123452\n123453\n123454')
- # def test_pick_list_for_multiple_reference_doctypes(self):
- # pass
+ def test_pick_list_for_items_from_multiple_sales_orders(self):
+ try:
+ frappe.get_doc({
+ 'doctype': 'Stock Reconciliation',
+ 'company': '_Test Company',
+ 'purpose': 'Opening Stock',
+ 'expense_account': 'Temporary Opening - _TC',
+ 'items': [{
+ 'item_code': '_Test Item Home Desktop 100',
+ 'warehouse': '_Test Warehouse - _TC',
+ 'valuation_rate': 100,
+ 'qty': 10
+ }]
+ }).submit()
+ except EmptyStockReconciliationItemsError:
+ pass
+
+ sales_order = frappe.get_doc({
+ 'doctype': "Sales Order",
+ 'customer': '_Test Customer',
+ 'company': '_Test Company',
+ 'items': [{
+ 'item_code': '_Test Item Home Desktop 100',
+ 'qty': 10,
+ 'delivery_date': frappe.utils.today()
+ }],
+ })
+ sales_order.submit()
+
+ pick_list = frappe.get_doc({
+ 'doctype': 'Pick List',
+ 'company': '_Test Company',
+ 'customer': '_Test Customer',
+ 'items_based_on': 'Sales Order',
+ 'locations': [{
+ 'item_code': '_Test Item Home Desktop 100',
+ 'qty': 5,
+ 'stock_qty': 5,
+ 'conversion_factor': 1,
+ 'sales_order': '_T-Sales Order-1',
+ 'sales_order_item': '_T-Sales Order-1_item',
+ }, {
+ 'item_code': '_Test Item Home Desktop 100',
+ 'qty': 5,
+ 'stock_qty': 5,
+ 'conversion_factor': 1,
+ 'sales_order': sales_order.name,
+ 'sales_order_item': sales_order.items[0].name,
+ }]
+ })
+ pick_list.set_item_locations()
+
+ self.assertEqual(pick_list.locations[0].item_code, '_Test Item Home Desktop 100')
+ self.assertEqual(pick_list.locations[0].warehouse, '_Test Warehouse - _TC')
+ self.assertEqual(pick_list.locations[0].qty, 5)
+ self.assertEqual(pick_list.locations[0].sales_order_item, '_T-Sales Order-1_item')
+
+ self.assertEqual(pick_list.locations[1].item_code, '_Test Item Home Desktop 100')
+ self.assertEqual(pick_list.locations[1].warehouse, '_Test Warehouse - _TC')
+ self.assertEqual(pick_list.locations[1].qty, 5)
+ self.assertEqual(pick_list.locations[1].sales_order_item, sales_order.items[0].name)
+
# def test_pick_list_skips_items_in_expired_batch(self):
# pass