mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-11 21:51:48 +00:00
test: cover AR/AP show-remarks, delivery notes and group-by-party filters
Add coverage for previously untested checkbox filters: Show Remarks (the invoice remark appears in the row) and Show Linked Delivery Notes on the receivable report, and Show Remarks and Group By Supplier on the payable report.
This commit is contained in:
@@ -95,6 +95,43 @@ class TestAccountsPayable(ERPNextTestSuite, AccountsTestMixin):
|
||||
self.assertEqual(row.paid, 120)
|
||||
self.assertEqual(row.outstanding, 180)
|
||||
|
||||
def test_show_remarks_includes_invoice_remark(self):
|
||||
pi = self.create_purchase_invoice(do_not_submit=True)
|
||||
pi.remarks = "AP test remark"
|
||||
pi.save().submit()
|
||||
|
||||
filters = {
|
||||
"company": self.company,
|
||||
"party_type": "Supplier",
|
||||
"party": [self.supplier],
|
||||
"report_date": today(),
|
||||
"range": "30, 60, 90, 120",
|
||||
"show_remarks": 1,
|
||||
}
|
||||
row = next(row for row in execute(filters)[1] if row.voucher_no == pi.name)
|
||||
self.assertIn("AP test remark", row.remarks or "")
|
||||
|
||||
def test_group_by_supplier_totals(self):
|
||||
self.create_purchase_invoice() # outstanding 300
|
||||
|
||||
filters = {
|
||||
"company": self.company,
|
||||
"party_type": "Supplier",
|
||||
"party": [self.supplier],
|
||||
"report_date": today(),
|
||||
"range": "30, 60, 90, 120",
|
||||
"group_by_party": True,
|
||||
}
|
||||
report = execute(filters)[1]
|
||||
|
||||
# a per-supplier subtotal row plus a grand total row
|
||||
party_subtotal = next(
|
||||
row for row in report if row.get("party") == self.supplier and not row.get("voucher_no")
|
||||
)
|
||||
grand_total = next(row for row in report if row.get("party") == "Total")
|
||||
self.assertEqual(party_subtotal.get("invoiced"), 300)
|
||||
self.assertEqual(grand_total.get("outstanding"), 300)
|
||||
|
||||
def test_payment_terms_template_filters(self):
|
||||
from erpnext.controllers.accounts_controller import get_payment_terms
|
||||
|
||||
|
||||
@@ -645,6 +645,42 @@ class TestAccountsReceivable(ERPNextTestSuite, AccountsTestMixin):
|
||||
row = next(row for row in self.ar_rows() if row.voucher_no == je.name)
|
||||
self.assertEqual(row.outstanding, -100)
|
||||
|
||||
def test_show_remarks_includes_invoice_remark(self):
|
||||
si = self.create_sales_invoice(no_payment_schedule=True, do_not_submit=True)
|
||||
si.remarks = "AR test remark"
|
||||
si.save().submit()
|
||||
|
||||
filters = {
|
||||
"company": self.company,
|
||||
"report_date": today(),
|
||||
"range": "30, 60, 90, 120",
|
||||
"show_remarks": 1,
|
||||
}
|
||||
row = next(row for row in execute(filters)[1] if row.voucher_no == si.name)
|
||||
self.assertIn("AR test remark", row.remarks or "")
|
||||
|
||||
def test_show_delivery_notes_links_delivery_note(self):
|
||||
from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
|
||||
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
|
||||
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
||||
|
||||
make_stock_entry(item_code=self.item, qty=5, to_warehouse=self.warehouse, basic_rate=100)
|
||||
dn = create_delivery_note(
|
||||
customer=self.customer, item=self.item, warehouse=self.warehouse, cost_center=self.cost_center
|
||||
)
|
||||
si = make_sales_invoice(dn.name)
|
||||
si.insert()
|
||||
si.submit()
|
||||
|
||||
filters = {
|
||||
"company": self.company,
|
||||
"report_date": today(),
|
||||
"range": "30, 60, 90, 120",
|
||||
"show_delivery_notes": 1,
|
||||
}
|
||||
row = next(row for row in execute(filters)[1] if row.voucher_no == si.name)
|
||||
self.assertIn(dn.name, row.delivery_notes or "")
|
||||
|
||||
def test_group_by_party(self):
|
||||
si1 = self.create_sales_invoice(do_not_submit=True)
|
||||
si1.posting_date = add_days(today(), -1)
|
||||
|
||||
Reference in New Issue
Block a user