From a93d7633d47083087748d6189b5a44e302619403 Mon Sep 17 00:00:00 2001 From: Gursheen Anand Date: Fri, 14 Jul 2023 17:16:39 +0530 Subject: [PATCH] test: purchase register and ledger view --- .../purchase_register/purchase_register.py | 1 - .../test_purchase_register.py | 128 ++++++++++++++++++ 2 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 erpnext/accounts/report/purchase_register/test_purchase_register.py diff --git a/erpnext/accounts/report/purchase_register/purchase_register.py b/erpnext/accounts/report/purchase_register/purchase_register.py index 616dca42bb..a6d0ea04e4 100644 --- a/erpnext/accounts/report/purchase_register/purchase_register.py +++ b/erpnext/accounts/report/purchase_register/purchase_register.py @@ -61,7 +61,6 @@ def _execute(filters=None, additional_table_columns=None): opening_row = get_opening_row( "Supplier", filters.supplier, getdate(filters.from_date), filters.company )[0] - print(opening_row) res.append( { "payable_account": opening_row.account, diff --git a/erpnext/accounts/report/purchase_register/test_purchase_register.py b/erpnext/accounts/report/purchase_register/test_purchase_register.py new file mode 100644 index 0000000000..6903662e68 --- /dev/null +++ b/erpnext/accounts/report/purchase_register/test_purchase_register.py @@ -0,0 +1,128 @@ +# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors +# MIT License. See license.txt + +import frappe +from frappe.tests.utils import FrappeTestCase +from frappe.utils import add_months, getdate, today + +from erpnext.accounts.report.purchase_register.purchase_register import execute + + +class TestPurchaseRegister(FrappeTestCase): + def test_purchase_register(self): + frappe.db.sql("delete from `tabPurchase Invoice` where company='_Test Company 6'") + frappe.db.sql("delete from `tabGL Entry` where company='_Test Company 6'") + + filters = frappe._dict( + company="_Test Company 6", from_date=add_months(today(), -1), to_date=today() + ) + + pi = make_purchase_invoice() + + report_results = execute(filters) + first_row = frappe._dict(report_results[1][0]) + self.assertEqual(first_row.voucher_type, "Purchase Invoice") + self.assertEqual(first_row.voucher_no, pi.name) + self.assertEqual(first_row.payable_account, "Creditors - _TC6") + self.assertEqual(first_row.net_total, 1000) + self.assertEqual(first_row.total_tax, 100) + self.assertEqual(first_row.grand_total, 1100) + + def test_purchase_register_ledger_view(self): + frappe.db.sql("delete from `tabPurchase Invoice` where company='_Test Company 6'") + frappe.db.sql("delete from `tabGL Entry` where company='_Test Company 6'") + + filters = frappe._dict( + company="_Test Company 6", + from_date=add_months(today(), -1), + to_date=today(), + include_payments=True, + supplier="_Test Supplier", + ) + + pi = make_purchase_invoice() + pe = make_payment_entry() + + report_results = execute(filters) + first_row = frappe._dict(report_results[1][2]) + self.assertEqual(first_row.voucher_type, "Payment Entry") + self.assertEqual(first_row.voucher_no, pe.name) + self.assertEqual(first_row.payable_account, "Creditors - _TC6") + self.assertEqual(first_row.debit, 0) + self.assertEqual(first_row.credit, 600) + self.assertEqual(first_row.balance, 500) + + +def make_purchase_invoice(): + from erpnext.accounts.doctype.account.test_account import create_account + from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center + from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse + + gst_acc = create_account( + account_name="GST", + account_type="Tax", + parent_account="Duties and Taxes - _TC6", + company="_Test Company 6", + account_currency="INR", + ) + create_warehouse(warehouse_name="_Test Warehouse - _TC6", company="_Test Company 6") + create_cost_center(cost_center_name="_Test Cost Center", company="_Test Company 6") + pi = create_purchase_invoice_with_taxes() + pi.submit() + return pi + + +def create_purchase_invoice_with_taxes(): + return frappe.get_doc( + { + "doctype": "Purchase Invoice", + "posting_date": today(), + "supplier": "_Test Supplier", + "company": "_Test Company 6", + "cost_center": "_Test Cost Center - _TC6", + "taxes_and_charges": "", + "currency": "INR", + "credit_to": "Creditors - _TC6", + "items": [ + { + "doctype": "Purchase Invoice Item", + "cost_center": "_Test Cost Center - _TC6", + "item_code": "_Test Item", + "qty": 1, + "rate": 1000, + "expense_account": "Stock Received But Not Billed - _TC6", + } + ], + "taxes": [ + { + "account_head": "GST - _TC6", + "cost_center": "_Test Cost Center - _TC6", + "add_deduct_tax": "Add", + "category": "Valuation and Total", + "charge_type": "Actual", + "description": "Shipping Charges", + "doctype": "Purchase Taxes and Charges", + "parentfield": "taxes", + "rate": 100, + "tax_amount": 100.0, + } + ], + } + ) + + +def make_payment_entry(): + frappe.set_user("Administrator") + from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_entry + + return create_payment_entry( + company="_Test Company 6", + party_type="Supplier", + party="_Test Supplier", + payment_type="Pay", + paid_from="Cash - _TC6", + paid_to="Creditors - _TC6", + paid_amount=600, + save=1, + submit=1, + )