summaryrefslogtreecommitdiff
path: root/actualbudget_queries/tests/actualbudget_payees.rs
blob: acf5c4e67bd711ef42def1a47e941894937bb3e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
pub mod common;

use actualbudget_queries::actualbudget_payees::get_all_actualbudget_payees;
use common::{db_url::DB_URL, get_reference_data::get_accounts, payee_matchers::get_payee_matchers};
use diesel::{Connection, SqliteConnection};

#[test]
fn given_test_database_when_get_all_payees_then_return_payees() {
    let connection = &mut SqliteConnection::establish(DB_URL).unwrap();
    let accounts = get_accounts(connection);

    let payees = get_all_actualbudget_payees(connection);

    assert!(payees.is_ok());
    let payees = payees.unwrap();
    let payee_matchers = get_payee_matchers();
    assert_eq!(payee_matchers.len(), payees.len());
    for payee in payees {
        assert!(
            payee_matchers.iter().any(|payee_matcher| payee_matcher(&payee, &accounts)),
            "no match found for payee {:?}",
            payee,
        );
    }
}