Skip to content

Commit

Permalink
test: currency inheritance on child accounts
Browse files Browse the repository at this point in the history
  • Loading branch information
ruthra-kumar committed May 8, 2023
1 parent abe691c commit f6ea8fd
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
55 changes: 55 additions & 0 deletions erpnext/accounts/doctype/account/test_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@
import unittest

import frappe
from frappe.test_runner import make_test_records

from erpnext.accounts.doctype.account.account import merge_account, update_account_number
from erpnext.stock import get_company_default_inventory_account, get_warehouse_account

test_dependencies = ["Company"]


class TestAccount(unittest.TestCase):
def test_rename_account(self):
Expand Down Expand Up @@ -188,6 +191,58 @@ def test_account_rename_sync(self):
frappe.delete_doc("Account", "1234 - Test Rename Sync Account - _TC4")
frappe.delete_doc("Account", "1234 - Test Rename Sync Account - _TC5")

def test_account_currency_sync(self):
"""
In a parent->child company setup, child should inherit parent account currency if explicitly specified.
"""

make_test_records("Company")

frappe.local.flags.pop("ignore_root_company_validation", None)

def create_bank_account():
acc = frappe.new_doc("Account")
acc.account_name = "_Test Bank JPY"

acc.parent_account = "Temporary Accounts - _TC6"
acc.company = "_Test Company 6"
return acc

acc = create_bank_account()
# Explicitly set currency
acc.account_currency = "JPY"
acc.insert()
self.assertTrue(
frappe.db.exists(
{
"doctype": "Account",
"account_name": "_Test Bank JPY",
"account_currency": "JPY",
"company": "_Test Company 7",
}
)
)

frappe.delete_doc("Account", "_Test Bank JPY - _TC6")
frappe.delete_doc("Account", "_Test Bank JPY - _TC7")

acc = create_bank_account()
# default currency is used
acc.insert()
self.assertTrue(
frappe.db.exists(
{
"doctype": "Account",
"account_name": "_Test Bank JPY",
"account_currency": "USD",
"company": "_Test Company 7",
}
)
)

frappe.delete_doc("Account", "_Test Bank JPY - _TC6")
frappe.delete_doc("Account", "_Test Bank JPY - _TC7")

def test_child_company_account_rename_sync(self):
frappe.local.flags.pop("ignore_root_company_validation", None)

Expand Down
25 changes: 25 additions & 0 deletions erpnext/setup/doctype/company/test_records.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,30 @@
"chart_of_accounts": "Standard",
"enable_perpetual_inventory": 1,
"default_holiday_list": "_Test Holiday List"
},
{
"abbr": "_TC6",
"company_name": "_Test Company 6",
"is_group": 1,
"country": "India",
"default_currency": "INR",
"doctype": "Company",
"domain": "Manufacturing",
"chart_of_accounts": "Standard",
"default_holiday_list": "_Test Holiday List",
"enable_perpetual_inventory": 0
},
{
"abbr": "_TC7",
"company_name": "_Test Company 7",
"parent_company": "_Test Company 6",
"is_group": 1,
"country": "United States",
"default_currency": "USD",
"doctype": "Company",
"domain": "Manufacturing",
"chart_of_accounts": "Standard",
"default_holiday_list": "_Test Holiday List",
"enable_perpetual_inventory": 0
}
]

0 comments on commit f6ea8fd

Please sign in to comment.