diff --git a/erpnext/accounts/doctype/payment_ledger_entry/test_payment_ledger_entry.py b/erpnext/accounts/doctype/payment_ledger_entry/test_payment_ledger_entry.py index 6ea63fd6c24..1262a354b46 100644 --- a/erpnext/accounts/doctype/payment_ledger_entry/test_payment_ledger_entry.py +++ b/erpnext/accounts/doctype/payment_ledger_entry/test_payment_ledger_entry.py @@ -10,75 +10,22 @@ from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_ent from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_entry from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order -from erpnext.stock.doctype.item.test_item import create_item from erpnext.tests.utils import ERPNextTestSuite class TestPaymentLedgerEntry(ERPNextTestSuite): def setUp(self): self.ple = qb.DocType("Payment Ledger Entry") - self.create_company() - self.create_item() - self.create_customer() - - def create_company(self): - company_name = "_Test Payment Ledger" - company = None - if frappe.db.exists("Company", company_name): - company = frappe.get_doc("Company", company_name) - else: - company = frappe.get_doc( - { - "doctype": "Company", - "company_name": company_name, - "country": "India", - "default_currency": "INR", - "create_chart_of_accounts_based_on": "Standard Template", - "chart_of_accounts": "Standard", - } - ) - company = company.save() - - self.company = company.name - self.cost_center = company.cost_center - self.warehouse = "All Warehouses - _PL" - self.income_account = "Sales - _PL" - self.expense_account = "Cost of Goods Sold - _PL" - self.debit_to = "Debtors - _PL" - self.creditors = "Creditors - _PL" - - # create bank account - if frappe.db.exists("Account", "HDFC - _PL"): - self.bank = "HDFC - _PL" - else: - bank_acc = frappe.get_doc( - { - "doctype": "Account", - "account_name": "HDFC", - "parent_account": "Bank Accounts - _PL", - "company": self.company, - } - ) - bank_acc.save() - self.bank = bank_acc.name - - def create_item(self): - item_name = "_Test PL Item" - item = create_item( - item_code=item_name, is_stock_item=0, company=self.company, warehouse=self.warehouse - ) - self.item = item if isinstance(item, str) else item.item_code - - def create_customer(self): - name = "_Test PL Customer" - if frappe.db.exists("Customer", name): - self.customer = name - else: - customer = frappe.new_doc("Customer") - customer.customer_name = name - customer.type = "Individual" - customer.save() - self.customer = customer.name + self.company = "_Test Company" + self.cost_center = "Main - _TC" + self.warehouse = "Stores - _TC" + self.income_account = "Sales - _TC" + self.expense_account = "Cost of Goods Sold - _TC" + self.debit_to = "Debtors - _TC" + self.creditors = "Creditors - _TC" + self.bank = "Cash - _TC" + self.item = "_Test Item" + self.customer = "_Test Customer" def create_sales_invoice( self, qty=1, rate=100, posting_date=None, do_not_save=False, do_not_submit=False @@ -151,18 +98,6 @@ class TestPaymentLedgerEntry(ERPNextTestSuite): ) return so - def clear_old_entries(self): - doctype_list = [ - "GL Entry", - "Payment Ledger Entry", - "Sales Invoice", - "Purchase Invoice", - "Payment Entry", - "Journal Entry", - ] - for doctype in doctype_list: - qb.from_(qb.DocType(doctype)).delete().where(qb.DocType(doctype).company == self.company).run() - def create_journal_entry(self, acc1=None, acc2=None, amount=0, posting_date=None, cost_center=None): je = frappe.new_doc("Journal Entry") je.posting_date = posting_date or nowdate() diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py index f05b1f58b4d..1a16bcd124e 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py @@ -18,7 +18,6 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): frappe.db.set_single_value("Accounts Settings", "use_legacy_controller_for_pcv", 1) def test_closing_entry(self): - company = create_company() cost_center = create_cost_center("Test Cost Center 1") jv1 = make_journal_entry( @@ -27,10 +26,10 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center, - company=company, + company="Test PCV Company", save=False, ) - jv1.company = company + jv1.company = "Test PCV Company" jv1.save() jv1.submit() @@ -40,10 +39,10 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cost of Goods Sold - TPC", account2="Cash - TPC", cost_center=cost_center, - company=company, + company="Test PCV Company", save=False, ) - jv2.company = company + jv2.company = "Test PCV Company" jv2.save() jv2.submit() @@ -67,14 +66,13 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): self.assertEqual(pcv_gle, expected_gle) def test_cost_center_wise_posting(self): - company = create_company() surplus_account = create_account() cost_center1 = create_cost_center("Main") cost_center2 = create_cost_center("Western Branch") create_sales_invoice( - company=company, + company="Test PCV Company", cost_center=cost_center1, income_account="Sales - TPC", expense_account="Cost of Goods Sold - TPC", @@ -85,7 +83,7 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): posting_date="2021-03-15", ) create_sales_invoice( - company=company, + company="Test PCV Company", cost_center=cost_center2, income_account="Sales - TPC", expense_account="Cost of Goods Sold - TPC", @@ -130,12 +128,11 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): ) def test_period_closing_with_finance_book_entries(self): - company = create_company() surplus_account = create_account() cost_center = create_cost_center("Test Cost Center 1") create_sales_invoice( - company=company, + company="Test PCV Company", income_account="Sales - TPC", expense_account="Cost of Goods Sold - TPC", cost_center=cost_center, @@ -152,9 +149,9 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): amount=400, cost_center=cost_center, posting_date="2021-03-15", - company=company, + company="Test PCV Company", ) - jv.company = company + jv.company = "Test PCV Company" jv.finance_book = create_finance_book().name jv.save() jv.submit() @@ -181,7 +178,6 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): self.assertSequenceEqual(pcv_gle, expected_gle) def test_gl_entries_restrictions(self): - company = create_company() cost_center = create_cost_center("Test Cost Center 1") self.make_period_closing_voucher(posting_date="2021-03-31") @@ -192,16 +188,15 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center, - company=company, + company="Test PCV Company", save=False, ) - jv1.company = company + jv1.company = "Test PCV Company" jv1.save() self.assertRaises(frappe.ValidationError, jv1.submit) def test_closing_balance_with_dimensions_and_test_reposting_entry(self): - company = create_company() cost_center1 = create_cost_center("Test Cost Center 1") cost_center2 = create_cost_center("Test Cost Center 2") @@ -211,10 +206,10 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center1, - company=company, + company="Test PCV Company", save=False, ) - jv1.company = company + jv1.company = "Test PCV Company" jv1.save() jv1.submit() @@ -224,10 +219,10 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center2, - company=company, + company="Test PCV Company", save=False, ) - jv2.company = company + jv2.company = "Test PCV Company" jv2.save() jv2.submit() @@ -254,11 +249,11 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center2, - company=company, + company="Test PCV Company", save=False, ) - jv3.company = company + jv3.company = "Test PCV Company" jv3.save() jv3.submit() @@ -293,12 +288,12 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): self.assertEqual(cc2_closing_balance.credit, 500) self.assertEqual(cc2_closing_balance.credit_in_account_currency, 500) - warehouse = frappe.db.get_value("Warehouse", {"company": company}, "name") + warehouse = frappe.db.get_value("Warehouse", {"company": "Test PCV Company"}, "name") repost_doc = frappe.get_doc( { "doctype": "Repost Item Valuation", - "company": company, + "company": "Test PCV Company", "posting_date": "2020-03-15", "based_on": "Item and Warehouse", "item_code": "Test Item 1", @@ -339,7 +334,6 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): {"enable_immutable_ledger": 1}, ) def test_immutable_ledger_reverse_entry_uses_passed_posting_date_after_pcv(self): - company = create_company() cost_center = create_cost_center("Test Cost Center 1") jv = make_journal_entry( @@ -348,10 +342,10 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): account1="Cash - TPC", account2="Sales - TPC", cost_center=cost_center, - company=company, + company="Test PCV Company", save=False, ) - jv.company = company + jv.company = "Test PCV Company" jv.save() jv.submit() @@ -377,19 +371,6 @@ class TestPeriodClosingVoucher(ERPNextTestSuite): self.assertEqual(totals_after_cancel.total_debit, totals_after_cancel.total_credit) -def create_company(): - company = frappe.get_doc( - { - "doctype": "Company", - "company_name": "Test PCV Company", - "country": "United States", - "default_currency": "USD", - } - ) - company.insert(ignore_if_duplicate=True) - return company.name - - def create_account(): account = frappe.get_doc( { diff --git a/erpnext/accounts/report/financial_ratios/test_financial_ratios.py b/erpnext/accounts/report/financial_ratios/test_financial_ratios.py index a093f0ceb67..ef45fa0f1e6 100644 --- a/erpnext/accounts/report/financial_ratios/test_financial_ratios.py +++ b/erpnext/accounts/report/financial_ratios/test_financial_ratios.py @@ -7,35 +7,18 @@ from frappe.utils import today from erpnext.accounts.report.financial_ratios.financial_ratios import execute from erpnext.tests.utils import ERPNextTestSuite -COMPANY = "_Test Company Financial Ratios" -ABBR = "_TCFR" - class TestFinancialRatios(ERPNextTestSuite): def setUp(self): - self.create_company() + self.company = "_Test Company" + self.abbr = "_TC" # The report matches the group accounts by their account_type, which the # standard chart of accounts does not set on group accounts by default. self.set_account_type("Fixed Assets", "Fixed Asset") self.set_account_type("Direct Income", "Direct Income") - def create_company(self): - if frappe.db.exists("Company", COMPANY): - return - frappe.get_doc( - { - "doctype": "Company", - "company_name": COMPANY, - "abbr": ABBR, - "country": "India", - "default_currency": "INR", - "create_chart_of_accounts_based_on": "Standard Template", - "chart_of_accounts": "Standard", - } - ).insert() - def set_account_type(self, account_name, account_type): - frappe.db.set_value("Account", f"{account_name} - {ABBR}", "account_type", account_type) + frappe.db.set_value("Account", f"{account_name} - {self.abbr}", "account_type", account_type) def test_fixed_asset_turnover_uses_net_fixed_assets(self): # Acquire a fixed asset worth 10,000 funded by equity. @@ -61,7 +44,7 @@ class TestFinancialRatios(ERPNextTestSuite): as_dict=True, ) return frappe._dict( - company=COMPANY, + company=self.company, from_fiscal_year=active_fy.name, to_fiscal_year=active_fy.name, period_start_date=active_fy.year_start_date, @@ -73,7 +56,7 @@ class TestFinancialRatios(ERPNextTestSuite): def make_journal_entry(self, debit_account, credit_account, amount): journal_entry = frappe.new_doc("Journal Entry") journal_entry.posting_date = today() - journal_entry.company = COMPANY + journal_entry.company = self.company for account, debit, credit in ( (debit_account, amount, 0), (credit_account, 0, amount), @@ -81,7 +64,7 @@ class TestFinancialRatios(ERPNextTestSuite): journal_entry.append( "accounts", { - "account": f"{account} - {ABBR}", + "account": f"{account} - {self.abbr}", "debit_in_account_currency": debit, "credit_in_account_currency": credit, }, diff --git a/erpnext/accounts/report/gross_profit/test_gross_profit.py b/erpnext/accounts/report/gross_profit/test_gross_profit.py index e522b9e7302..0ac5971a06b 100644 --- a/erpnext/accounts/report/gross_profit/test_gross_profit.py +++ b/erpnext/accounts/report/gross_profit/test_gross_profit.py @@ -14,71 +14,17 @@ from erpnext.tests.utils import ERPNextTestSuite class TestGrossProfit(ERPNextTestSuite): def setUp(self): - self.create_company() - self.create_item() - self.create_bundle() - self.create_customer() - - def create_company(self): - company_name = "_Test Gross Profit" - abbr = "_GP" - if frappe.db.exists("Company", company_name): - company = frappe.get_doc("Company", company_name) - else: - company = frappe.get_doc( - { - "doctype": "Company", - "company_name": company_name, - "country": "India", - "default_currency": "INR", - "create_chart_of_accounts_based_on": "Standard Template", - "chart_of_accounts": "Standard", - } - ) - company = company.save() - - self.company = company.name - self.cost_center = company.cost_center - self.warehouse = "Stores - " + abbr - self.finished_warehouse = "Finished Goods - " + abbr - self.income_account = "Sales - " + abbr - self.expense_account = "Cost of Goods Sold - " + abbr - self.debit_to = "Debtors - " + abbr - self.creditors = "Creditors - " + abbr - - def create_item(self): - item = create_item( - item_code="_Test GP Item", is_stock_item=1, company=self.company, warehouse=self.warehouse - ) - self.item = item if isinstance(item, str) else item.item_code - - def create_bundle(self): - from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle - - item2 = create_item( - item_code="_Test GP Item 2", is_stock_item=1, company=self.company, warehouse=self.warehouse - ) - self.item2 = item2 if isinstance(item2, str) else item2.item_code - - # This will be parent item - bundle = create_item( - item_code="_Test GP bundle", is_stock_item=0, company=self.company, warehouse=self.warehouse - ) - self.bundle = bundle if isinstance(bundle, str) else bundle.item_code - - # Create Product Bundle - self.product_bundle = make_product_bundle(parent=self.bundle, items=[self.item, self.item2]) - - def create_customer(self): - name = "_Test GP Customer" - if frappe.db.exists("Customer", name): - self.customer = name - else: - customer = frappe.new_doc("Customer") - customer.customer_name = name - customer.type = "Individual" - customer.save() - self.customer = customer.name + self.company = "_Test Company" + self.cost_center = "Main - _TC" + self.warehouse = "Stores - _TC" + self.finished_warehouse = "Finished Goods - _TC" + self.income_account = "Sales - _TC" + self.expense_account = "Cost of Goods Sold - _TC" + self.debit_to = "Debtors - _TC" + self.item = "_Test Item" + self.item2 = "_Test Item Home Desktop 100" + self.bundle = "_Test Product Bundle Item" + self.customer = "_Test Customer" def create_sales_invoice( self, qty=1, rate=100, posting_date=None, do_not_save=False, do_not_submit=False @@ -212,7 +158,7 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": 1.0, "avg._selling_rate": 100.0, "valuation_rate": 150.0, @@ -241,7 +187,7 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": 1.0, "avg._selling_rate": 100.0, "valuation_rate": 100.0, @@ -273,7 +219,7 @@ class TestGrossProfit(ERPNextTestSuite): "item_code": self.item2, "s_warehouse": "", "t_warehouse": self.finished_warehouse, - "qty": 1, + "qty": 2, "basic_rate": 100, "conversion_factor": item.conversion_factor or 1.0, "transfer_qty": flt(item.qty) * (flt(item.conversion_factor) or 1.0), @@ -373,7 +319,7 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": 4.0, "avg._selling_rate": 100.0, "valuation_rate": 125.0, @@ -414,10 +360,10 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": 0.0, - "avg._selling_rate": 100, - "valuation_rate": 0.0, + "avg._selling_rate": 100.0, + "valuation_rate": 100.0, "selling_amount": 0.0, "buying_amount": 0.0, "gross_profit": 0.0, @@ -437,7 +383,7 @@ class TestGrossProfit(ERPNextTestSuite): """ # Make Cr Note sinv = self.create_sales_invoice( - qty=-1, rate=100, posting_date=nowdate(), do_not_save=True, do_not_submit=True + qty=-1, rate=200, posting_date=nowdate(), do_not_save=True, do_not_submit=True ) sinv.is_return = 1 sinv.items[0].allow_zero_valuation_rate = 1 @@ -460,14 +406,14 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": -1.0, - "avg._selling_rate": 100.0, - "valuation_rate": 0.0, - "selling_amount": -100.0, - "buying_amount": 0.0, + "avg._selling_rate": 200.0, + "valuation_rate": 100.0, + "selling_amount": -200.0, + "buying_amount": -100.0, "gross_profit": -100.0, - "gross_profit_%": -100.0, + "gross_profit_%": -50.0, } gp_entry = [x for x in data if x.parent_invoice == sinv.name] report_output = {k: v for k, v in gp_entry[0].items() if k in expected_entry} @@ -553,7 +499,7 @@ class TestGrossProfit(ERPNextTestSuite): "posting_date": frappe.utils.datetime.date.fromisoformat(nowdate()), "item_code": self.item, "item_name": self.item, - "warehouse": "Stores - _GP", + "warehouse": "Stores - _TC", "qty": 4.0, "avg._selling_rate": 800.0, "valuation_rate": 700.0, @@ -616,7 +562,7 @@ class TestGrossProfit(ERPNextTestSuite): def test_gross_profit_groupby_invoices(self): create_sales_invoice( qty=1, - rate=100, + rate=200, company=self.company, customer=self.customer, item_code=self.item, @@ -638,10 +584,10 @@ class TestGrossProfit(ERPNextTestSuite): _, data = execute(filters=filters) total = data[-1] - self.assertEqual(total.selling_amount, 100.0) - self.assertEqual(total.buying_amount, 0.0) + self.assertEqual(total.selling_amount, 200.0) + self.assertEqual(total.buying_amount, 100.0) self.assertEqual(total.gross_profit, 100.0) - self.assertEqual(total.get("gross_profit_%"), 100.0) + self.assertEqual(total.get("gross_profit_%"), 50.0) def test_profit_for_later_period_return(self): month_start_date, month_end_date = get_first_day(nowdate()), get_last_day(nowdate()) @@ -650,7 +596,7 @@ class TestGrossProfit(ERPNextTestSuite): return_inv_date = add_days(month_end_date, 1) # create sales invoice on month start date - sinv = self.create_sales_invoice(qty=1, rate=100, do_not_save=True, do_not_submit=True) + sinv = self.create_sales_invoice(qty=1, rate=200, do_not_save=True, do_not_submit=True) sinv.set_posting_time = 1 sinv.posting_date = sales_inv_date sinv.save().submit() @@ -669,10 +615,10 @@ class TestGrossProfit(ERPNextTestSuite): _, data = execute(filters=filters) total = data[-1] - self.assertEqual(total.selling_amount, 100.0) - self.assertEqual(total.buying_amount, 0.0) + self.assertEqual(total.selling_amount, 200.0) + self.assertEqual(total.buying_amount, 100.0) self.assertEqual(total.gross_profit, 100.0) - self.assertEqual(total.get("gross_profit_%"), 100.0) + self.assertEqual(total.get("gross_profit_%"), 50.0) # extend filters upto returned period filters.update({"to_date": return_inv_date}) @@ -690,10 +636,10 @@ class TestGrossProfit(ERPNextTestSuite): _, data = execute(filters=filters) total = data[-1] - self.assertEqual(total.selling_amount, -100.0) - self.assertEqual(total.buying_amount, 0.0) + self.assertEqual(total.selling_amount, -200.0) + self.assertEqual(total.buying_amount, -100.0) self.assertEqual(total.gross_profit, -100.0) - self.assertEqual(total.get("gross_profit_%"), -100.0) + self.assertEqual(total.get("gross_profit_%"), -50.0) def test_sales_person_wise_gross_profit(self): sales_person = make_sales_person("_Test Sales Person") @@ -724,10 +670,10 @@ class TestGrossProfit(ERPNextTestSuite): _, data = execute(filters=filters) total = data[-1] - self.assertEqual(total[5], 1000.0) - self.assertEqual(total[6], 0.0) - self.assertEqual(total[7], 1000.0) - self.assertEqual(total[8], 100.0) + self.assertEqual(total[5], 1000.0) # selling amount + self.assertEqual(total[6], 1000.0) # buying amount + self.assertEqual(total[7], 0.0) # gross profit + self.assertEqual(total[8], 0.0) # gross profit % def test_drop_ship(self): from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice diff --git a/erpnext/accounts/report/payment_ledger/test_payment_ledger.py b/erpnext/accounts/report/payment_ledger/test_payment_ledger.py index 00206059672..79a36c95f47 100644 --- a/erpnext/accounts/report/payment_ledger/test_payment_ledger.py +++ b/erpnext/accounts/report/payment_ledger/test_payment_ledger.py @@ -9,42 +9,12 @@ from erpnext.tests.utils import ERPNextTestSuite class TestPaymentLedger(ERPNextTestSuite): def setUp(self): - self.create_company() - self.cleanup() - - def cleanup(self): - doctypes = [] - doctypes.append(qb.DocType("GL Entry")) - doctypes.append(qb.DocType("Payment Ledger Entry")) - doctypes.append(qb.DocType("Sales Invoice")) - doctypes.append(qb.DocType("Payment Entry")) - - for doctype in doctypes: - qb.from_(doctype).delete().where(doctype.company == self.company).run() - - def create_company(self): - name = "Test Payment Ledger" - company = None - if frappe.db.exists("Company", name): - company = frappe.get_doc("Company", name) - else: - company = frappe.get_doc( - { - "doctype": "Company", - "company_name": name, - "country": "India", - "default_currency": "INR", - "create_chart_of_accounts_based_on": "Standard Template", - "chart_of_accounts": "Standard", - } - ) - company = company.save() - self.company = company.name - self.cost_center = company.cost_center - self.warehouse = "All Warehouses" + " - " + company.abbr - self.income_account = company.default_income_account - self.expense_account = company.default_expense_account - self.debit_to = company.default_receivable_account + self.company = "_Test Company" + self.cost_center = "Main - _TC" + self.warehouse = "Stores - _TC" + self.income_account = "Sales - _TC" + self.expense_account = "Cost of Goods Sold - _TC" + self.debit_to = "Debtors - _TC" def test_unpaid_invoice_outstanding(self): sinv = create_sales_invoice( diff --git a/erpnext/controllers/tests/test_accounts_controller.py b/erpnext/controllers/tests/test_accounts_controller.py index b15f581a8d4..da18c84f516 100644 --- a/erpnext/controllers/tests/test_accounts_controller.py +++ b/erpnext/controllers/tests/test_accounts_controller.py @@ -18,39 +18,9 @@ from erpnext.buying.doctype.purchase_order.test_purchase_order import ( prepare_data_for_internal_transfer, ) from erpnext.projects.doctype.project.test_project import make_project -from erpnext.stock.doctype.item.test_item import create_item from erpnext.tests.utils import ERPNextTestSuite -def make_customer(customer_name, currency=None): - if not frappe.db.exists("Customer", customer_name): - customer = frappe.new_doc("Customer") - customer.customer_name = customer_name - customer.customer_type = "Individual" - - if currency: - customer.default_currency = currency - customer.save() - return customer.name - else: - return customer_name - - -def make_supplier(supplier_name, currency=None): - if not frappe.db.exists("Supplier", supplier_name): - supplier = frappe.new_doc("Supplier") - supplier.supplier_name = supplier_name - supplier.supplier_type = "Individual" - supplier.supplier_group = "All Supplier Groups" - - if currency: - supplier.default_currency = currency - supplier.save() - return supplier.name - else: - return supplier_name - - class TestAccountsController(ERPNextTestSuite): """ Test Exchange Gain/Loss booking on various scenarios. @@ -67,79 +37,28 @@ class TestAccountsController(ERPNextTestSuite): """ def setUp(self): - self.create_company() + self.company = "_Test Company" + self.company_abbr = "_TC" + self.cost_center = "Main - _TC" + self.warehouse = "Stores - _TC" + self.finished_warehouse = "Finished Goods - _TC" + self.income_account = "Sales - _TC" + self.expense_account = "Cost of Goods Sold - _TC" + self.debit_to = "Debtors - _TC" + self.debit_usd = "_Test Receivable USD - _TC" + self.debtors_usd = "_Test Receivable USD - _TC" + self.cash = "Cash - _TC" + self.creditors = "Creditors - _TC" + self.creditors_usd = "_Test Payable USD - _TC" + self.item = "_Test Item" + self.customer = "_Test Customer USD" + self.supplier = "_Test Supplier USD" self.create_account() - self.create_item() - self.create_parties() - self.clear_old_entries() frappe.flags.is_reverse_depr_entry = False - def create_company(self): - company_name = "_Test Company" - self.company_abbr = abbr = "_TC" - if frappe.db.exists("Company", company_name): - company = frappe.get_doc("Company", company_name) - else: - company = frappe.get_doc( - { - "doctype": "Company", - "company_name": company_name, - "country": "India", - "default_currency": "INR", - "create_chart_of_accounts_based_on": "Standard Template", - "chart_of_accounts": "Standard", - } - ) - company = company.save() - - self.company = company.name - self.cost_center = company.cost_center - self.warehouse = "Stores - " + abbr - self.finished_warehouse = "Finished Goods - " + abbr - self.income_account = "Sales - " + abbr - self.expense_account = "Cost of Goods Sold - " + abbr - self.debit_to = "Debtors - " + abbr - self.debit_usd = "Debtors USD - " + abbr - self.cash = "Cash - " + abbr - self.creditors = "Creditors - " + abbr - - def create_item(self): - item = create_item( - item_code="_Test Notebook", is_stock_item=0, company=self.company, warehouse=self.warehouse - ) - self.item = item if isinstance(item, str) else item.item_code - - def create_parties(self): - self.create_customer() - self.create_supplier() - - def create_customer(self): - self.customer = make_customer("_Test MC Customer USD", "USD") - - def create_supplier(self): - self.supplier = make_supplier("_Test MC Supplier USD", "USD") - def create_account(self): + # Advance accounts are not in persistent test data — create them on demand. accounts = [ - frappe._dict( - { - "attribute_name": "debtors_usd", - "name": "Debtors USD", - "account_type": "Receivable", - "account_currency": "USD", - "parent_account": "Accounts Receivable - " + self.company_abbr, - } - ), - frappe._dict( - { - "attribute_name": "creditors_usd", - "name": "Creditors USD", - "account_type": "Payable", - "account_currency": "USD", - "parent_account": "Accounts Payable - " + self.company_abbr, - } - ), - # Advance accounts under Asset and Liability header frappe._dict( { "attribute_name": "advance_received_usd", @@ -185,6 +104,7 @@ class TestAccountsController(ERPNextTestSuite): company.save() customer = frappe.get_doc("Customer", self.customer) + customer.accounts = [] customer.append( "accounts", { @@ -196,6 +116,7 @@ class TestAccountsController(ERPNextTestSuite): customer.save() supplier = frappe.get_doc("Supplier", self.supplier) + supplier.accounts = [] supplier.append( "accounts", { @@ -321,18 +242,6 @@ class TestAccountsController(ERPNextTestSuite): pinv.submit() return pinv - def clear_old_entries(self): - doctype_list = [ - "GL Entry", - "Payment Ledger Entry", - "Sales Invoice", - "Purchase Invoice", - "Payment Entry", - "Journal Entry", - ] - for doctype in doctype_list: - qb.from_(qb.DocType(doctype)).delete().where(qb.DocType(doctype).company == self.company).run() - def create_payment_reconciliation(self): pr = frappe.new_doc("Payment Reconciliation") pr.company = self.company @@ -955,7 +864,7 @@ class TestAccountsController(ERPNextTestSuite): # Create a Sales Invoice sinv = frappe.new_doc("Sales Invoice") - sinv.customer = self.customer + sinv.customer = "_Test Customer" sinv.company = self.company sinv.currency = "INR" sinv.taxes_and_charges = "_Test Tax - _TC" @@ -971,7 +880,7 @@ class TestAccountsController(ERPNextTestSuite): def test_19_fetch_taxes_based_on_item_tax_template_template(self): # Create a Sales Invoice sinv = frappe.new_doc("Sales Invoice") - sinv.customer = self.customer + sinv.customer = "_Test Customer" sinv.company = self.company sinv.currency = "INR" sinv.append( diff --git a/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py b/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py index 03f11b949cc..fc8435b161d 100644 --- a/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py +++ b/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py @@ -14,7 +14,7 @@ from erpnext.tests.utils import ERPNextTestSuite class TestVATAuditReport(ERPNextTestSuite): def setUp(self): - make_company("_Test Company SA VAT", "_TCSV") + self.company = "_Test Company SA VAT" create_account( account_name="VAT - 0%", diff --git a/erpnext/setup/doctype/company/test_records.json b/erpnext/setup/doctype/company/test_records.json index 74615e60162..d3faeec4672 100644 --- a/erpnext/setup/doctype/company/test_records.json +++ b/erpnext/setup/doctype/company/test_records.json @@ -214,5 +214,14 @@ "doctype": "Company", "chart_of_accounts": "Standard", "create_chart_of_accounts_based_on": "Standard Template" + }, + { + "abbr": "TPC", + "company_name": "Test PCV Company", + "country": "United States", + "default_currency": "USD", + "doctype": "Company", + "chart_of_accounts": "Standard", + "create_chart_of_accounts_based_on": "Standard Template" } ]