diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-12 08:28:04 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-12 08:28:04 +0000 |
| commit | 54894f9de9bad4fecb2a116d59a03cdd003f84c0 (patch) | |
| tree | 6ce5517cecf23d4e93d7a381a374e1fa6c810cee /rust/actualbudget_queries/tests/common/payee_matchers.rs | |
| parent | 8a30bcbdf9264d235bf93da3df8e170cfde53d02 (diff) | |
Moves rust workspace to root
Diffstat (limited to 'rust/actualbudget_queries/tests/common/payee_matchers.rs')
| -rw-r--r-- | rust/actualbudget_queries/tests/common/payee_matchers.rs | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/rust/actualbudget_queries/tests/common/payee_matchers.rs b/rust/actualbudget_queries/tests/common/payee_matchers.rs deleted file mode 100644 index ccba204..0000000 --- a/rust/actualbudget_queries/tests/common/payee_matchers.rs +++ /dev/null @@ -1,124 +0,0 @@ -use std::collections::HashMap; - -use actualbudget_models::{ActualbudgetAccount, ActualbudgetPayee}; -use anyhow::Context; - -use super::{account_names::ACCOUNT_NAMES_DICT, payee_names::PAYEE_NAMES_DICT}; - -pub fn get_payee_matchers( -) -> Vec<Box<dyn Fn(&ActualbudgetPayee, &HashMap<String, ActualbudgetAccount>) -> bool>> { - vec![ - Box::new(|p, a| matches_bank_account_transfer_account(p, a)), - Box::new(|p, a| matches_cash_account_transfer_account(p, a)), - Box::new(|p, a| matches_category_transfers_transfer_account(p, a)), - Box::new(|p, a| matches_starting_balances(p, a)), - Box::new(|p, a| matches_employer(p, a)), - Box::new(|p, a| matches_tesco(p, a)), - ] -} - -fn matches_bank_account_transfer_account( - payee: &ActualbudgetPayee, - accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - let bank_account = accounts - .get(ACCOUNT_NAMES_DICT.bank_account) - .with_context(|| "failed to get bank account") - .unwrap(); - - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => name == "" - && transfer_account_id.clone().is_some_and( - |account_id| account_id == bank_account.id, - ), - } -} - -fn matches_cash_account_transfer_account( - payee: &ActualbudgetPayee, - accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - let cash_account = accounts - .get(ACCOUNT_NAMES_DICT.cash_account) - .with_context(|| "failed to find cash account") - .unwrap(); - - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => name == "" - && transfer_account_id.clone().is_some_and( - |account_id| account_id == cash_account.id, - ), - } -} - -fn matches_category_transfers_transfer_account( - payee: &ActualbudgetPayee, - accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - let category_transfers_account = accounts - .get(ACCOUNT_NAMES_DICT.transfers_account) - .with_context(|| "failed to find category transfers account") - .unwrap(); - - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => name == "" - && transfer_account_id.clone().is_some_and( - |account_id| account_id == category_transfers_account.id, - ), - } -} - -fn matches_starting_balances( - payee: &ActualbudgetPayee, - _accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => transfer_account_id.is_none() - && name.clone() == PAYEE_NAMES_DICT.starting_balances, - } -} - -fn matches_employer( - payee: &ActualbudgetPayee, - _accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => transfer_account_id.is_none() - && name == PAYEE_NAMES_DICT.employer, - } -} - - -fn matches_tesco( - payee: &ActualbudgetPayee, - _accounts: &HashMap<String, ActualbudgetAccount>, -) -> bool { - match payee { - ActualbudgetPayee { - name, - transfer_account_id, - .. - } => transfer_account_id.is_none() - && name == PAYEE_NAMES_DICT.tesco, - } -} |
