import unittest import frappe from frappe.utils import getdate from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.report.account_balance.account_balance import execute class TestAccountBalance(unittest.TestCase): def test_account_balance(self): frappe.db.sql("delete from `tabSales Invoice` where company='_Test Company 2'") frappe.db.sql("delete from `tabGL Entry` where company='_Test Company 2'") filters = { "company": "_Test Company 2", "report_date": getdate(), "root_type": "Income", } make_sales_invoice() report = execute(filters) expected_data = [ { "account": "Direct Income - _TC2", "currency": "EUR", "balance": -100.0, }, { "account": "Income - _TC2", "currency": "EUR", "balance": -100.0, }, { "account": "Indirect Income - _TC2", "currency": "EUR", "balance": 0.0, }, { "account": "Sales - _TC2", "currency": "EUR", "balance": -100.0, }, { "account": "Service - _TC2", "currency": "EUR", "balance": 0.0, }, ] self.assertEqual(expected_data, report[1]) def make_sales_invoice(): frappe.set_user("Administrator") create_sales_invoice( company="_Test Company 2", customer="_Test Customer 2", currency="EUR", warehouse="Finished Goods - _TC2", debit_to="Debtors - _TC2", income_account="Sales - _TC2", expense_account="Cost of Goods Sold - _TC2", cost_center="Main - _TC2", )