@@ -160,6 +160,30 @@ def test_is_credit_card(acct_name, expected):
def test_is_opening_equity(acct_name, expected):
assert data.Account(acct_name).is_opening_equity() == expected
@pytest.mark.parametrize('acct_name', [
'Assets:Cash',
'Assets:Prepaid:Expenses',
'Assets:Receivable:Accounts',
'Expenses:Other',
'Equity:Funds:Restricted',
'Equity:OpeningBalance',
'Income:Other',
'Liabilities:CreditCard',
'Liabilities:Payable:Accounts',
'Liabilities:UnearnedIncome:Donations',
])
def test_keeps_balance(acct_name):
expected = acct_name.startswith(('Assets:', 'Liabilities:'))
assert data.Account(acct_name).keeps_balance() == expected
def test_keeps_balance_uses_options(clean_account_meta):
config = bc_options.OPTIONS_DEFAULTS.copy()
config['name_liabilities'] = 'Debts'
data.Account.load_options_map(config)
assert not data.Account('Liabilities:CreditCard').keeps_balance()
assert data.Account('Debts:Payable').keeps_balance()
assert data.Account('Assets:Receivable').keeps_balance()