summaryrefslogtreecommitdiff
path: root/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
blob: 471498ce42043764611c76940fda8df0b95e742a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pub mod common;

use actualbudget_queries::actualbudget_zero_budgets::get_all_actualbudget_zero_budgets;
use common::{db_url::DB_URL, get_reference_data::get_categories, zero_budget_matchers::get_zero_budget_matchers};
use diesel::{Connection, SqliteConnection};

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

    let zero_budgets = get_all_actualbudget_zero_budgets(connection);

    assert!(zero_budgets.is_ok());
    let zero_budgets = zero_budgets.unwrap();
    let zero_budget_matchers = get_zero_budget_matchers();
    assert_eq!(zero_budget_matchers.len(), zero_budgets.len());
    for matcher in zero_budget_matchers {
        assert!(zero_budgets.iter().any(|zb| matcher(zb, &categories)))
    }
}