summaryrefslogtreecommitdiff
path: root/rust/schist_queries/src/utils/calculate_budgets_accrual.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-12-12 08:28:04 +0000
committerJoe Carstairs <me@joeac.net>2024-12-12 08:28:04 +0000
commit54894f9de9bad4fecb2a116d59a03cdd003f84c0 (patch)
tree6ce5517cecf23d4e93d7a381a374e1fa6c810cee /rust/schist_queries/src/utils/calculate_budgets_accrual.rs
parent8a30bcbdf9264d235bf93da3df8e170cfde53d02 (diff)
Moves rust workspace to root
Diffstat (limited to 'rust/schist_queries/src/utils/calculate_budgets_accrual.rs')
-rw-r--r--rust/schist_queries/src/utils/calculate_budgets_accrual.rs72
1 files changed, 0 insertions, 72 deletions
diff --git a/rust/schist_queries/src/utils/calculate_budgets_accrual.rs b/rust/schist_queries/src/utils/calculate_budgets_accrual.rs
deleted file mode 100644
index ca82953..0000000
--- a/rust/schist_queries/src/utils/calculate_budgets_accrual.rs
+++ /dev/null
@@ -1,72 +0,0 @@
-use anyhow::Result;
-use schist_models::{
- budget_drip::BudgetDrip,
- category::Category,
-};
-
-pub fn calculate_budgets_accrual(category: &Category, budget_drips: &[BudgetDrip]) -> Result<i64> {
- Ok(budget_drips
- .iter()
- .filter(|bd| bd.category_id == category.id)
- .map(|bd| Into::<i64>::into(bd.quantity))
- .sum()
- )
-}
-
-#[cfg(test)]
-mod test {
- use schist_fakes::{budget_drip::make_fake_budget_drip_builder, category::make_fake_category};
-
- use super::calculate_budgets_accrual;
-
- #[test]
- fn when_no_budget_drips_then_return_zero() {
- let category = make_fake_category(0);
- let budget_drips = [];
-
- let result = calculate_budgets_accrual(&category, &budget_drips);
-
- assert!(result.is_ok());
- assert_eq!(result.unwrap(), 0_i64);
- }
-
- #[test]
- fn when_one_budget_drip_for_another_category_then_return_zero() {
- let category = make_fake_category(0);
- let budget_drips = [
- make_fake_budget_drip_builder(0).quantity(100).category_id(1).build().unwrap(),
- ];
-
- let result = calculate_budgets_accrual(&category, &budget_drips);
-
- assert!(result.is_ok());
- assert_eq!(result.unwrap(), 0_i64);
- }
-
- #[test]
- fn when_one_budget_drip_then_return_quantity() {
- let category = make_fake_category(0);
- let budget_drips = [
- make_fake_budget_drip_builder(0).quantity(100).category_id(0).build().unwrap(),
- ];
-
- let result = calculate_budgets_accrual(&category, &budget_drips);
-
- assert!(result.is_ok());
- assert_eq!(result.unwrap(), 100);
- }
-
- #[test]
- fn when_two_budget_drips_then_return_sum() {
- let category = make_fake_category(0);
- let budget_drips = [
- make_fake_budget_drip_builder(0).quantity(100).category_id(0).build().unwrap(),
- make_fake_budget_drip_builder(1).quantity(120).category_id(0).build().unwrap(),
- ];
-
- let result = calculate_budgets_accrual(&category, &budget_drips);
-
- assert!(result.is_ok());
- assert_eq!(result.unwrap(), 220);
- }
-}