mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-26 05:15:20 +00:00
fix(selling): preserve explicit UOM during item selection
This commit is contained in:
@@ -72,7 +72,7 @@ class TestReactivity(ERPNextTestSuite):
|
||||
item.barcode = "OLD-BARCODE"
|
||||
item.pricing_rules = "OLD-PRICING-RULE"
|
||||
item.item_code = new_item.name
|
||||
sales_order.process_item_selection(item.idx)
|
||||
sales_order.process_item_selection(item.idx, reset_item_details=True)
|
||||
|
||||
self.assertEqual(item.uom, "Kg")
|
||||
self.assertEqual(item.stock_uom, "Kg")
|
||||
@@ -82,3 +82,25 @@ class TestReactivity(ERPNextTestSuite):
|
||||
self.assertIsNone(item.barcode)
|
||||
self.assertFalse(item.pricing_rules)
|
||||
self.assertEqual((item.qty, item.warehouse, item.delivery_date), row_state)
|
||||
|
||||
def test_programmatic_item_selection_preserves_explicit_uom(self):
|
||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||
from erpnext.stock.doctype.item.test_item import make_item
|
||||
|
||||
item = make_item(
|
||||
properties={
|
||||
"is_stock_item": 0,
|
||||
"stock_uom": "Kg",
|
||||
"sales_uom": "Nos",
|
||||
"weight_per_unit": 2,
|
||||
"weight_uom": "Kg",
|
||||
},
|
||||
uoms=[{"uom": "Nos", "conversion_factor": 10}],
|
||||
)
|
||||
sales_invoice = create_sales_invoice(item_code=item.name, uom="Kg", do_not_save=True)
|
||||
|
||||
sales_invoice.process_item_selection(sales_invoice.items[0].idx)
|
||||
|
||||
self.assertEqual(sales_invoice.items[0].uom, "Kg")
|
||||
self.assertEqual(sales_invoice.items[0].conversion_factor, 1)
|
||||
self.assertEqual(sales_invoice.items[0].stock_qty, sales_invoice.items[0].qty)
|
||||
|
||||
Reference in New Issue
Block a user