summaryrefslogtreecommitdiff
path: root/backend/core/tests/queries/budget_updates.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-10-30 08:58:38 +0000
committerJoe Carstairs <me@joeac.net>2024-10-30 08:58:38 +0000
commit430f4c1ccb26c8ebe9a6d286012086795e495bb7 (patch)
tree15813296c77850cf499ecbe8f728b06e7e90a367 /backend/core/tests/queries/budget_updates.rs
parent828b9ae9f6217f7e5e97ec704134c786dd401bad (diff)
Tests queries::budget_updates::get_most_recent_budget_update_date_with_category_id
Diffstat (limited to 'backend/core/tests/queries/budget_updates.rs')
-rw-r--r--backend/core/tests/queries/budget_updates.rs53
1 files changed, 51 insertions, 2 deletions
diff --git a/backend/core/tests/queries/budget_updates.rs b/backend/core/tests/queries/budget_updates.rs
index ae580e7..503e51c 100644
--- a/backend/core/tests/queries/budget_updates.rs
+++ b/backend/core/tests/queries/budget_updates.rs
@@ -251,6 +251,55 @@ fn given_many_budget_updates_when_get_first_with_date_then_return_any_with_date(
}
#[test]
-fn todo() {
- todo!("test get_most_recent_with_category_id");
+fn given_many_budget_updates_when_get_most_recent_with_category_id_then_return_correct_date() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ insert_prerequisite_data(connection);
+ let budget_updates = [
+ make_fake_budget_update_builder(0)
+ .category_id(0)
+ .date("2024-12-25".parse().unwrap())
+ .build().unwrap(),
+ make_fake_budget_update_builder(1)
+ .category_id(0)
+ .date("2020-12-26".parse().unwrap())
+ .build().unwrap(),
+ make_fake_budget_update_builder(2)
+ .category_id(1)
+ .date("2020-12-27".parse().unwrap())
+ .build().unwrap(),
+ ];
+ let _ = queries::budget_updates::insert_budget_updates(&budget_updates, connection).unwrap();
+
+ let most_recent_with_category = queries::budget_updates::get_most_recent_budget_update_date_with_category_id(
+ 0, connection,
+ );
+
+ assert!(most_recent_with_category.is_ok());
+ let most_recent_with_category = most_recent_with_category.unwrap();
+ assert!(most_recent_with_category .is_some());
+ let most_recent_with_category = most_recent_with_category.unwrap();
+ assert_eq!(most_recent_with_category, budget_updates[1].date);
+}
+
+#[test]
+fn given_budget_update_when_get_most_recent_with_different_category_id_then_return_none() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ insert_prerequisite_data(connection);
+ let budget_updates = [
+ make_fake_budget_update_builder(0)
+ .category_id(1)
+ .date("2020-12-27".parse().unwrap())
+ .build().unwrap(),
+ ];
+ let _ = queries::budget_updates::insert_budget_updates(&budget_updates, connection).unwrap();
+
+ let most_recent_with_category = queries::budget_updates::get_most_recent_budget_update_date_with_category_id(
+ 0, connection,
+ );
+
+ assert!(most_recent_with_category.is_ok());
+ let most_recent_with_category = most_recent_with_category.unwrap();
+ assert!(most_recent_with_category .is_none());
}