refactor(test): test_update_reserved_qty_for_subcontracting
This commit is contained in:
parent
4a7add2169
commit
a349b58306
@ -187,22 +187,13 @@ class TestSubcontractingOrder(FrappeTestCase):
|
|||||||
self.assertEqual(len(ste.items), len(rm_items))
|
self.assertEqual(len(ste.items), len(rm_items))
|
||||||
|
|
||||||
def test_update_reserved_qty_for_subcontracting(self):
|
def test_update_reserved_qty_for_subcontracting(self):
|
||||||
# Make stock available for raw materials
|
# Create RM Material Receipt
|
||||||
make_stock_entry(target="_Test Warehouse - _TC", qty=10, basic_rate=100)
|
make_stock_entry(target="_Test Warehouse - _TC", item_code="_Test Item", qty=10, basic_rate=100)
|
||||||
make_stock_entry(
|
make_stock_entry(
|
||||||
target="_Test Warehouse - _TC", item_code="_Test Item Home Desktop 100", qty=20, basic_rate=100
|
target="_Test Warehouse - _TC", item_code="_Test Item Home Desktop 100", qty=20, basic_rate=100
|
||||||
)
|
)
|
||||||
make_stock_entry(
|
|
||||||
target="_Test Warehouse 1 - _TC", item_code="_Test Item", qty=30, basic_rate=100
|
|
||||||
)
|
|
||||||
make_stock_entry(
|
|
||||||
target="_Test Warehouse 1 - _TC",
|
|
||||||
item_code="_Test Item Home Desktop 100",
|
|
||||||
qty=30,
|
|
||||||
basic_rate=100,
|
|
||||||
)
|
|
||||||
|
|
||||||
bin1 = frappe.db.get_value(
|
bin_before_sco = frappe.db.get_value(
|
||||||
"Bin",
|
"Bin",
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
||||||
fieldname=["reserved_qty_for_sub_contract", "projected_qty", "modified"],
|
fieldname=["reserved_qty_for_sub_contract", "projected_qty", "modified"],
|
||||||
@ -222,102 +213,97 @@ class TestSubcontractingOrder(FrappeTestCase):
|
|||||||
]
|
]
|
||||||
sco = get_subcontracting_order(service_items=service_items)
|
sco = get_subcontracting_order(service_items=service_items)
|
||||||
|
|
||||||
bin2 = frappe.db.get_value(
|
bin_after_sco = frappe.db.get_value(
|
||||||
"Bin",
|
"Bin",
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
||||||
fieldname=["reserved_qty_for_sub_contract", "projected_qty", "modified"],
|
fieldname=["reserved_qty_for_sub_contract", "projected_qty", "modified"],
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(bin2.reserved_qty_for_sub_contract, bin1.reserved_qty_for_sub_contract + 10)
|
# reserved_qty_for_sub_contract should be increased by 10
|
||||||
self.assertEqual(bin2.projected_qty, bin1.projected_qty - 10)
|
self.assertEqual(
|
||||||
self.assertNotEqual(bin1.modified, bin2.modified)
|
bin_after_sco.reserved_qty_for_sub_contract, bin_before_sco.reserved_qty_for_sub_contract + 10
|
||||||
|
)
|
||||||
|
|
||||||
# Create stock transfer
|
# projected_qty should be decreased by 10
|
||||||
|
self.assertEqual(bin_after_sco.projected_qty, bin_before_sco.projected_qty - 10)
|
||||||
|
|
||||||
|
self.assertNotEqual(bin_before_sco.modified, bin_after_sco.modified)
|
||||||
|
|
||||||
|
# Create Stock Entry(Send to Subcontractor)
|
||||||
rm_items = [
|
rm_items = [
|
||||||
{
|
{
|
||||||
"item_code": "_Test FG Item",
|
"item_code": "_Test FG Item",
|
||||||
"rm_item_code": "_Test Item",
|
"rm_item_code": "_Test Item",
|
||||||
"item_name": "_Test Item",
|
"item_name": "_Test Item",
|
||||||
"qty": 6,
|
"qty": 10,
|
||||||
"warehouse": "_Test Warehouse - _TC",
|
"warehouse": "_Test Warehouse - _TC",
|
||||||
"rate": 100,
|
"rate": 100,
|
||||||
"amount": 600,
|
"amount": 1000,
|
||||||
"stock_uom": "Nos",
|
"stock_uom": "Nos",
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"item_code": "_Test FG Item",
|
||||||
|
"rm_item_code": "_Test Item Home Desktop 100",
|
||||||
|
"item_name": "_Test Item Home Desktop 100",
|
||||||
|
"qty": 20,
|
||||||
|
"warehouse": "_Test Warehouse - _TC",
|
||||||
|
"rate": 100,
|
||||||
|
"amount": 2000,
|
||||||
|
"stock_uom": "Nos",
|
||||||
|
},
|
||||||
]
|
]
|
||||||
ste = frappe.get_doc(make_rm_stock_entry(sco.name, rm_items))
|
ste = frappe.get_doc(make_rm_stock_entry(sco.name, rm_items))
|
||||||
ste.to_warehouse = "_Test Warehouse 1 - _TC"
|
ste.to_warehouse = "_Test Warehouse 1 - _TC"
|
||||||
ste.save()
|
ste.save()
|
||||||
ste.submit()
|
ste.submit()
|
||||||
|
|
||||||
bin3 = frappe.db.get_value(
|
bin_after_rm_transfer = frappe.db.get_value(
|
||||||
"Bin",
|
"Bin",
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
||||||
fieldname="reserved_qty_for_sub_contract",
|
fieldname="reserved_qty_for_sub_contract",
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(bin3.reserved_qty_for_sub_contract, bin2.reserved_qty_for_sub_contract - 6)
|
# reserved_qty_for_sub_contract should be decreased by 10
|
||||||
|
self.assertEqual(
|
||||||
make_stock_entry(
|
bin_after_rm_transfer.reserved_qty_for_sub_contract,
|
||||||
target="_Test Warehouse 1 - _TC", item_code="_Test Item", qty=40, basic_rate=100
|
bin_after_sco.reserved_qty_for_sub_contract - 10,
|
||||||
)
|
|
||||||
make_stock_entry(
|
|
||||||
target="_Test Warehouse 1 - _TC",
|
|
||||||
item_code="_Test Item Home Desktop 100",
|
|
||||||
qty=40,
|
|
||||||
basic_rate=100,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Make SCR against the SCO
|
# Cancel Stock Entry(Send to Subcontractor)
|
||||||
scr = make_subcontracting_receipt(sco.name)
|
|
||||||
scr.save()
|
|
||||||
scr.submit()
|
|
||||||
|
|
||||||
bin4 = frappe.db.get_value(
|
|
||||||
"Bin",
|
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
|
||||||
fieldname="reserved_qty_for_sub_contract",
|
|
||||||
as_dict=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(bin4.reserved_qty_for_sub_contract, bin1.reserved_qty_for_sub_contract)
|
|
||||||
|
|
||||||
# Cancel SCR
|
|
||||||
scr.reload()
|
|
||||||
scr.cancel()
|
|
||||||
bin5 = frappe.db.get_value(
|
|
||||||
"Bin",
|
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
|
||||||
fieldname="reserved_qty_for_sub_contract",
|
|
||||||
as_dict=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(bin5.reserved_qty_for_sub_contract, bin2.reserved_qty_for_sub_contract - 6)
|
|
||||||
|
|
||||||
# Cancel Stock Entry
|
|
||||||
ste.cancel()
|
ste.cancel()
|
||||||
bin6 = frappe.db.get_value(
|
bin_after_cancel_ste = frappe.db.get_value(
|
||||||
"Bin",
|
"Bin",
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
||||||
fieldname="reserved_qty_for_sub_contract",
|
fieldname="reserved_qty_for_sub_contract",
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(bin6.reserved_qty_for_sub_contract, bin1.reserved_qty_for_sub_contract + 10)
|
# reserved_qty_for_sub_contract should be increased by 10
|
||||||
|
self.assertEqual(
|
||||||
|
bin_after_cancel_ste.reserved_qty_for_sub_contract,
|
||||||
|
bin_after_rm_transfer.reserved_qty_for_sub_contract + 10,
|
||||||
|
)
|
||||||
|
|
||||||
# Cancel PO
|
# Cancel SCO
|
||||||
sco.reload()
|
sco.reload()
|
||||||
sco.cancel()
|
sco.cancel()
|
||||||
bin7 = frappe.db.get_value(
|
bin_after_cancel_sco = frappe.db.get_value(
|
||||||
"Bin",
|
"Bin",
|
||||||
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
filters={"warehouse": "_Test Warehouse - _TC", "item_code": "_Test Item"},
|
||||||
fieldname="reserved_qty_for_sub_contract",
|
fieldname="reserved_qty_for_sub_contract",
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(bin7.reserved_qty_for_sub_contract, bin1.reserved_qty_for_sub_contract)
|
# reserved_qty_for_sub_contract should be decreased by 10
|
||||||
|
self.assertEqual(
|
||||||
|
bin_after_cancel_sco.reserved_qty_for_sub_contract,
|
||||||
|
bin_after_cancel_ste.reserved_qty_for_sub_contract - 10,
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
bin_after_cancel_sco.reserved_qty_for_sub_contract, bin_before_sco.reserved_qty_for_sub_contract
|
||||||
|
)
|
||||||
|
|
||||||
def test_exploded_items(self):
|
def test_exploded_items(self):
|
||||||
item_code = "_Test Subcontracted FG Item 11"
|
item_code = "_Test Subcontracted FG Item 11"
|
||||||
|
Loading…
Reference in New Issue
Block a user