summaryrefslogtreecommitdiff
path: root/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-21 21:40:31 +0000
committerJoe Carstairs <me@joeac.net>2024-11-21 21:40:31 +0000
commit9274d625c5e04e7fdca0d0449c44608a4617050c (patch)
treededdfa82cec85ed7c26e77b668d3e581db5156b8 /rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
parent6174d31572fb4d6582029a6ec2ea4391d704a7cb (diff)
Super cool zero budget integration testing
Diffstat (limited to 'rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs')
-rw-r--r--rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs b/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
index 4e9ea19..a10af31 100644
--- a/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
+++ b/rust/actualbudget_queries/tests/actualbudget_zero_budgets.rs
@@ -1,16 +1,21 @@
mod common;
use actualbudget_queries::actualbudget_zero_budgets::get_all_actualbudget_zero_budgets;
-use common::db_url::DB_URL;
+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();
- assert_eq!(25, zero_budgets.len());
+ 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)))
+ }
}