diff options
Diffstat (limited to 'actualbudget_queries/tests/actualbudget_zero_budgets.rs')
| -rw-r--r-- | actualbudget_queries/tests/actualbudget_zero_budgets.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/actualbudget_queries/tests/actualbudget_zero_budgets.rs b/actualbudget_queries/tests/actualbudget_zero_budgets.rs new file mode 100644 index 0000000..7218227 --- /dev/null +++ b/actualbudget_queries/tests/actualbudget_zero_budgets.rs @@ -0,0 +1,34 @@ +pub mod common; + +use actualbudget_queries::actualbudget_zero_budgets::{get_all_actualbudget_zero_budgets, get_first_zero_budget_date}; +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))) + } +} + +#[test] +fn given_test_database_when_get_first_zero_budget_date_then_return_1_aug_2024() { + let connection = &mut SqliteConnection::establish(DB_URL).unwrap(); + + let date = get_first_zero_budget_date(connection); + + assert!(date.is_ok()); + let date = date.unwrap(); + assert_eq!("01", date.day()); + assert_eq!("08", date.month()); + assert_eq!("2024", date.year()); +} |
