@@ -110,6 +110,36 @@ def test_invalid_values_on_transactions(hook, src_value):
assert all(error.message == "transaction has invalid entity: {}".format(src_value)
for error in hook.run(txn))
@pytest.mark.parametrize('src_value', VALID_VALUES)
def test_valid_values_on_payee(hook, src_value):
txn = testutil.Transaction(payee=src_value, postings=[
('Assets:Cash', -25),
('Expenses:General', 25),
])
assert not any(hook.run(txn))
@pytest.mark.parametrize('src_value', INVALID_VALUES)
def test_invalid_values_on_payee(hook, src_value):
errors = list(hook.run(txn))
assert 1 <= len(errors) <= 2
@pytest.mark.parametrize('payee,src_value', testutil.combine_values(
INVALID_VALUES,
VALID_VALUES,
))
def test_invalid_payee_but_valid_metadata(hook, payee, src_value):
txn = testutil.Transaction(**{'payee': payee, TEST_KEY: src_value}, postings=[
('Expenses:Other', 25),
@pytest.mark.parametrize('account,required', [
('Assets:Bank:Checking', False),
('Assets:Cash', False),