mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-24 17:18:30 +00:00
fix: test_work_order_with_non_stock_item
- Use the right price list and currency to avoid rate conversion (1000/62.9), since rates are reset correctly now - Use RM rate based on Price List in BOM. Non stock item has no valuation
This commit is contained in:
@@ -76,10 +76,10 @@ def create_bom_update_log(
|
|||||||
def get_boms_in_bottom_up_order(bom_no: Optional[str] = None) -> List:
|
def get_boms_in_bottom_up_order(bom_no: Optional[str] = None) -> List:
|
||||||
"""
|
"""
|
||||||
Eg: Main BOM
|
Eg: Main BOM
|
||||||
|- Sub BOM 1
|
|- Sub BOM 1
|
||||||
|- Leaf BOM 1
|
|- Leaf BOM 1
|
||||||
|- Sub BOM 2
|
|- Sub BOM 2
|
||||||
|- Leaf BOM 2
|
|- Leaf BOM 2
|
||||||
Result: [Leaf BOM 1, Leaf BOM 2, Sub BOM 1, Sub BOM 2, Main BOM]
|
Result: [Leaf BOM 1, Leaf BOM 2, Sub BOM 1, Sub BOM 2, Main BOM]
|
||||||
"""
|
"""
|
||||||
leaf_boms = []
|
leaf_boms = []
|
||||||
|
|||||||
@@ -749,7 +749,6 @@ def make_bom(**args):
|
|||||||
|
|
||||||
for item in args.raw_materials:
|
for item in args.raw_materials:
|
||||||
item_doc = frappe.get_doc("Item", item)
|
item_doc = frappe.get_doc("Item", item)
|
||||||
|
|
||||||
bom.append(
|
bom.append(
|
||||||
"items",
|
"items",
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ class TestWorkOrder(FrappeTestCase):
|
|||||||
"doctype": "Item Price",
|
"doctype": "Item Price",
|
||||||
"item_code": "_Test FG Non Stock Item",
|
"item_code": "_Test FG Non Stock Item",
|
||||||
"price_list_rate": 1000,
|
"price_list_rate": 1000,
|
||||||
"price_list": "Standard Buying",
|
"price_list": "_Test Price List India",
|
||||||
}
|
}
|
||||||
).insert(ignore_permissions=True)
|
).insert(ignore_permissions=True)
|
||||||
|
|
||||||
@@ -423,8 +423,17 @@ class TestWorkOrder(FrappeTestCase):
|
|||||||
item_code="_Test FG Item", target="_Test Warehouse - _TC", qty=1, basic_rate=100
|
item_code="_Test FG Item", target="_Test Warehouse - _TC", qty=1, basic_rate=100
|
||||||
)
|
)
|
||||||
|
|
||||||
if not frappe.db.get_value("BOM", {"item": fg_item}):
|
if not frappe.db.get_value("BOM", {"item": fg_item, "docstatus": 1}):
|
||||||
make_bom(item=fg_item, rate=1000, raw_materials=["_Test FG Item", "_Test FG Non Stock Item"])
|
bom = make_bom(
|
||||||
|
item=fg_item,
|
||||||
|
rate=1000,
|
||||||
|
raw_materials=["_Test FG Item", "_Test FG Non Stock Item"],
|
||||||
|
do_not_save=True,
|
||||||
|
)
|
||||||
|
bom.rm_cost_as_per = "Price List" # non stock item won't have valuation rate
|
||||||
|
bom.buying_price_list = "_Test Price List India"
|
||||||
|
bom.currency = "INR"
|
||||||
|
bom.save()
|
||||||
|
|
||||||
wo = make_wo_order_test_record(production_item=fg_item)
|
wo = make_wo_order_test_record(production_item=fg_item)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user