refactor!: BOM

This commit is contained in:
Sagar Sharma 2022-05-13 14:48:34 +05:30
parent 05f05ab75b
commit 92625902ad

View File

@ -9,14 +9,13 @@ import frappe
from frappe.tests.utils import FrappeTestCase from frappe.tests.utils import FrappeTestCase
from frappe.utils import cstr, flt from frappe.utils import cstr, flt
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.controllers.tests.test_subcontracting_controller import set_backflush_based_on
from erpnext.manufacturing.doctype.bom.bom import item_query, make_variant_bom from erpnext.manufacturing.doctype.bom.bom import item_query, make_variant_bom
from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import (
create_stock_reconciliation, create_stock_reconciliation,
) )
from erpnext.tests.test_subcontracting import set_backflush_based_on
test_records = frappe.get_test_records("BOM") test_records = frappe.get_test_records("BOM")
test_dependencies = ["Item", "Quality Inspection Template"] test_dependencies = ["Item", "Quality Inspection Template"]
@ -249,12 +248,29 @@ class TestBOM(FrappeTestCase):
bom.submit() bom.submit()
# test that sourced_by_supplier rate is zero even after updating cost # test that sourced_by_supplier rate is zero even after updating cost
self.assertEqual(bom.items[2].rate, 0) self.assertEqual(bom.items[2].rate, 0)
# test in Purchase Order sourced_by_supplier is not added to Supplied Item
po = create_purchase_order( from erpnext.controllers.tests.test_subcontracting_controller import (
item_code=item_code, qty=1, is_subcontracted=1, supplier_warehouse="_Test Warehouse 1 - _TC" get_subcontracting_order,
make_service_item,
)
make_service_item("Subcontracted Service Item 1")
service_items = [
{
"warehouse": "_Test Warehouse - _TC",
"item_code": "Subcontracted Service Item 1",
"qty": 1,
"rate": 100,
"fg_item": item_code,
"fg_item_qty": 1,
},
]
# test in Subcontracting Order sourced_by_supplier is not added to Supplied Item
sco = get_subcontracting_order(
service_items=service_items, supplier_warehouse="_Test Warehouse 1 - _TC"
) )
bom_items = sorted([d.item_code for d in bom.items if d.sourced_by_supplier != 1]) bom_items = sorted([d.item_code for d in bom.items if d.sourced_by_supplier != 1])
supplied_items = sorted([d.rm_item_code for d in po.supplied_items]) supplied_items = sorted([d.rm_item_code for d in sco.supplied_items])
self.assertEqual(bom_items, supplied_items) self.assertEqual(bom_items, supplied_items)
def test_bom_tree_representation(self): def test_bom_tree_representation(self):