fix: Test Product Bundle price calculation when there are multiple Product Bundles

This commit is contained in:
GangaManoj 2021-11-24 21:58:05 +05:30
parent 325923afc7
commit adfd519139

View File

@ -302,6 +302,56 @@ class TestQuotation(unittest.TestCase):
enable_calculate_bundle_price(enable=0)
def test_product_bundle_price_calculation_for_multiple_product_bundles_when_calculate_bundle_price_is_checked(self):
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.stock.doctype.item.test_item import make_item
make_item("_Test Product Bundle 1", {"is_stock_item": 0})
make_item("_Test Product Bundle 2", {"is_stock_item": 0})
make_item("_Test Bundle Item 1", {"is_stock_item": 1})
make_item("_Test Bundle Item 2", {"is_stock_item": 1})
make_item("_Test Bundle Item 3", {"is_stock_item": 1})
make_product_bundle("_Test Product Bundle 1",
["_Test Bundle Item 1", "_Test Bundle Item 2"])
make_product_bundle("_Test Product Bundle 2",
["_Test Bundle Item 2", "_Test Bundle Item 3"])
enable_calculate_bundle_price()
item_list = [
{
"item_code": "_Test Product Bundle 1",
"warehouse": "",
"qty": 1,
"rate": 400,
"delivered_by_supplier": 1,
"supplier": '_Test Supplier'
},
{
"item_code": "_Test Product Bundle 2",
"warehouse": "",
"qty": 1,
"rate": 400,
"delivered_by_supplier": 1,
"supplier": '_Test Supplier'
}
]
quotation = make_quotation(item_list=item_list, do_not_submit=1)
quotation.packed_items[0].rate = 100
quotation.packed_items[1].rate = 200
quotation.packed_items[2].rate = 200
quotation.packed_items[3].rate = 300
quotation.save()
expected_values = [300, 500]
for item in quotation.items:
self.assertEqual(item.amount, expected_values[item.idx-1])
enable_calculate_bundle_price(enable=0)
def test_packed_items_indices_are_reset_when_product_bundle_is_deleted_from_items_table(self):
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.stock.doctype.item.test_item import make_item