summaryrefslogtreecommitdiff
path: root/rust/actualbudget_queries/tests/actualbudget_accounts.rs
blob: fce5dfb6c493e2bcbcac229f1c45937bee19057e (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
26
27
28
29
30
31
32
mod common;

use actualbudget_queries::actualbudget_accounts::{get_all_actualbudget_accounts, get_category_transfers_account};
use common::{account_names::ACCOUNT_NAMES, db_url::DB_URL};
use diesel::{Connection, SqliteConnection};

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

    let accounts = get_all_actualbudget_accounts(connection);

    assert!(accounts.is_ok());
    let accounts = accounts.unwrap();
    assert_eq!(ACCOUNT_NAMES.len(), accounts.len());
    for account_name in ACCOUNT_NAMES {
        assert!(accounts.iter().any(|a| a.name.as_str() == *account_name));
    }
}

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

    let account = get_category_transfers_account(connection);

    assert!(account.is_ok());
    let account = account.unwrap();
    assert!(account.is_some());
    let account = account.unwrap();
    assert!(account.name == "Category transfers");
}