diff --git a/tests/test_meta_entity.py b/tests/test_meta_entity.py index f8b012238e5c8e0ac8404c8df1e46fc693f24a59..c8d5b54f990f1b21ccdb359e8342dd859810c005 100644 --- a/tests/test_meta_entity.py +++ b/tests/test_meta_entity.py @@ -188,6 +188,19 @@ def test_invalid_payee_but_valid_metadata(hook, payee, src_value): ]) assert not any(hook.run(txn)) +def test_mixed_sources(hook): + txn = testutil.Transaction(payee='Payee', postings=[ + ('Income:Donations', -5), + ('Equity:Funds:Restricted', 5, {TEST_KEY: 'Entity'}), + ]) + assert not any(hook.run(txn)) + assert txn.postings[-1].meta[TEST_KEY] == 'Entity' + assert txn.meta[TEST_KEY] == 'Payee' + try: + assert txn.postings[0].meta[TEST_KEY] == 'Payee' + except (KeyError, TypeError): + pass + @pytest.mark.parametrize('account,required', [ ('Assets:Bank:Checking', False), ('Assets:Cash', False),