test: validate buying workflow

This commit is contained in:
Ninad1306
2024-11-27 12:06:11 +05:30
parent d049c97884
commit 94d3fc9fde

View File

@@ -809,6 +809,7 @@ class TestAccountsController(IntegrationTestCase):
"Stock Settings", {"allow_internal_transfer_at_arms_length_price": 1} "Stock Settings", {"allow_internal_transfer_at_arms_length_price": 1}
) )
def test_16_internal_transfer_at_arms_length_price(self): def test_16_internal_transfer_at_arms_length_price(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_purchase_invoice
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -842,6 +843,31 @@ class TestAccountsController(IntegrationTestCase):
# rate should reset to incoming rate # rate should reset to incoming rate
self.assertEqual(si.items[0].rate, 100) self.assertEqual(si.items[0].rate, 100)
si.update_stock = 0
si.save()
si.submit()
pi = make_inter_company_purchase_invoice(si.name)
pi.update_stock = 1
pi.items[0].rate = arms_length_price
pi.items[0].warehouse = target_warehouse
pi.items[0].from_warehouse = warehouse
pi.save()
self.assertEqual(pi.items[0].rate, 100)
self.assertEqual(pi.items[0].valuation_rate, 100)
frappe.db.set_single_value("Stock Settings", "allow_internal_transfer_at_arms_length_price", 1)
pi = make_inter_company_purchase_invoice(si.name)
pi.update_stock = 1
pi.items[0].rate = arms_length_price
pi.items[0].warehouse = target_warehouse
pi.items[0].from_warehouse = warehouse
pi.save()
self.assertEqual(pi.items[0].rate, arms_length_price)
self.assertEqual(pi.items[0].valuation_rate, 100)
def test_20_journal_against_sales_invoice(self): def test_20_journal_against_sales_invoice(self):
# Invoice in Foreign Currency # Invoice in Foreign Currency
si = self.create_sales_invoice(qty=1, conversion_rate=80, rate=1) si = self.create_sales_invoice(qty=1, conversion_rate=80, rate=1)