diff --git a/tests/test_reconcile.py b/tests/test_reconcile.py index ba3d33b469849cdae095543f65d2b92225fee1de..186b5e5ca650736102d7b69f2f83dfef83f50d4a 100644 --- a/tests/test_reconcile.py +++ b/tests/test_reconcile.py @@ -100,6 +100,15 @@ B3_payee_mismatch_2 = { 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" } +B3_unmatched_check_id = { + 'date': datetime.date(2022, 1, 3), + 'amount': decimal.Decimal('30.00'), + 'payee': 'USPS', + 'check_id': '1234', + 'filename': '2022/main.beancount', + 'line': 999, + 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" +} def test_one_exact_match(): @@ -230,3 +239,13 @@ def test_totals(): ([S2], [], []), ([], [B3_next_day], []), ]) == (decimal.Decimal('10'), decimal.Decimal('20'), decimal.Decimal('30')) + + +def test_payee_not_considered_if_check_id_present(): + # These records match aside from check-id. + statement = [S3] + books = [B3_unmatched_check_id] + assert match_statement_and_books(statement, books) == [ + ([S3], [], ['no match']), + ([], [B3_unmatched_check_id], ['no match']), + ]