Skip to content

Commit

Permalink
test: create mr, create 2 po's(partial qty in both po's) against mr &…
Browse files Browse the repository at this point in the history
… create single pr (merge qty from both po's) against po's - _TC_SCK_103
  • Loading branch information
Abhishek8848 committed Jan 10, 2025
1 parent 38207aa commit bf68f8f
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions erpnext/stock/doctype/material_request/test_material_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -3536,6 +3536,56 @@ def test_create_material_req_to_2po_to_2pi_return_TC_SCK_102(self):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':pr1.name, 'account': 'Creditors - _TC'},'credit')
self.assertEqual(gl_stock_debit, 500)

def test_create_material_req_to_2po_to_1pi_return_TC_SCK_103(self):
mr = make_material_request()

#partially qty
po = make_purchase_order(mr.name)
po.supplier = "_Test Supplier"
po.get("items")[0].rate = 100
po.get("items")[0].qty = 5
po.insert()
po.submit()

#remaining qty
po1 = make_purchase_order(mr.name)
po1.supplier = "_Test Supplier"
po1.get("items")[0].rate = 100
po1.get("items")[0].qty = 5
po1.insert()
po1.submit()

pr = create_purchase_invoice(po.name)
pr = create_purchase_invoice(po1.name, target_doc=pr)
pr.submit()

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Stock Received But Not Billed - _TC'}):
recive_account = frappe.db.get_value("Company",mr.company,"stock_received_but_not_billed")
gl_temp_credit = frappe.db.get_value('GL Entry',{'voucher_no':pr.name, 'account': recive_account},'debit')
self.assertEqual(gl_temp_credit, 1000)

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Creditors - _TC'}):
payable_act = frappe.db.get_value("Company",mr.company,"default_payable_account")
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':pr.name, 'account': payable_act},'credit')
self.assertEqual(gl_stock_debit, 1000)

from erpnext.controllers.sales_and_purchase_return import make_return_doc
return_pi = make_return_doc("Purchase Invoice", pr.name)
return_pi.submit()
pr.reload()

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Stock Received But Not Billed - _TC'}):
gl_temp_credit = frappe.db.get_value('GL Entry',{'voucher_no':pr.name, 'account': 'Stock Received But Not Billed - _TC'},'debit')
self.assertEqual(gl_temp_credit, 1000)

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Stock In Hand - _TC'}):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':pr.name, 'account': 'Stock In Hand - _TC'},'credit')
self.assertEqual(gl_stock_debit, 1000)

def get_in_transit_warehouse(company):
if not frappe.db.exists("Warehouse Type", "Transit"):
frappe.get_doc(
Expand Down

0 comments on commit bf68f8f

Please sign in to comment.