Skip to content

Commit

Permalink
test: create mr, create po against mr, create 2 pi's(both half qty) a…
Browse files Browse the repository at this point in the history
…gainst po , & return both pi's - _TC_SCK_101
  • Loading branch information
Abhishek8848 committed Jan 10, 2025
1 parent f10ae16 commit 42c5ae3
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions erpnext/stock/doctype/material_request/test_material_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -3396,6 +3396,82 @@ def test_mr_po_pi_return_TC_SCK_090(self):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':return_pi.name, 'account': 'Stock In Hand - _TC'},'debit')
self.assertEqual(gl_stock_debit, 1000)

def test_mr_po_2pi_return_TC_SCK_101(self):
# MR => PO => 2PI => 2PI return
mr_dict_list = [{
"company" : "_Test Company",
"item_code" : "Testing-31",
"warehouse" : "Stores - _TC",
"qty" : 10,
"rate" : 100,
},
]

doc_mr = make_material_request(**mr_dict_list[0])
self.assertEqual(doc_mr.docstatus, 1)

doc_po = make_test_po(doc_mr.name)
doc_pi = create_purchase_invoice(doc_po.name)
doc_pi.items[0].qty = 5
doc_pi.submit()

self.assertEqual(doc_pi.docstatus, 1)
doc_mr.reload()
self.assertEqual(doc_mr.status, "Ordered")

#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':doc_pi.name, 'account': 'Stock Received But Not Billed - _TC'},'debit')
self.assertEqual(gl_temp_credit, 500)

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Creditors - _TC'}):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':doc_pi.name, 'account': 'Creditors - _TC'},'credit')
self.assertEqual(gl_stock_debit, 500)

doc_pi1 = create_purchase_invoice(doc_po.name)
doc_pi1.items[0].qty = 5
doc_pi1.submit()

self.assertEqual(doc_pi1.docstatus, 1)
doc_pi1.reload()
self.assertEqual(doc_pi1.status, "Unpaid")

#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':doc_pi1.name, 'account': 'Stock Received But Not Billed - _TC'},'debit')
self.assertEqual(gl_temp_credit, 500)

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Creditors - _TC'}):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':doc_pi1.name, 'account': 'Creditors - _TC'},'credit')
self.assertEqual(gl_stock_debit, 500)

#Return PI's
doc_pi.load_from_db()
from erpnext.controllers.sales_and_purchase_return import make_return_doc
return_pi = make_return_doc("Purchase Invoice", doc_pi.name)
return_pi.submit()
return_pi = make_return_doc("Purchase Invoice", doc_pi1.name)
return_pi.submit()

doc_pi.reload()
doc_pi1.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':doc_pi.name, 'account': 'Stock Received But Not Billed - _TC'},'debit')
self.assertEqual(gl_temp_credit, 500)
gl_temp_credit = frappe.db.get_value('GL Entry',{'voucher_no':doc_pi1.name, 'account': 'Stock Received But Not Billed - _TC'},'debit')
self.assertEqual(gl_temp_credit, 500)

#if account setup in company
if frappe.db.exists('GL Entry',{'account': 'Creditors - _TC'}):
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':doc_pi.name, 'account': 'Creditors - _TC'},'credit')
self.assertEqual(gl_stock_debit, 500)
gl_stock_debit = frappe.db.get_value('GL Entry',{'voucher_no':doc_pi1.name, 'account': 'Creditors - _TC'},'credit')
self.assertEqual(gl_stock_debit, 500)

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

0 comments on commit 42c5ae3

Please sign in to comment.