diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-06 14:02:51 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-06 14:41:50 +0000 |
| commit | 69a6c9d9f7eaed9e1ddfd8819bf52e64d1368854 (patch) | |
| tree | b07b0f0500eeaa6d31c4e475c2dc341720119e60 /rust/actualbudget_to_schist_transformer/src/transform_state | |
| parent | 4dbbe1927c62426cca0da1f9645c24e4db52d997 (diff) | |
Fix category transfer transform: swaps from/to
Diffstat (limited to 'rust/actualbudget_to_schist_transformer/src/transform_state')
| -rw-r--r-- | rust/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/rust/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs b/rust/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs index 2bcd0e0..318e88c 100644 --- a/rust/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs +++ b/rust/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs @@ -61,7 +61,7 @@ fn transform_category_transfer_without_context( let from_transfers: Vec<ActualbudgetTransaction> = actualbudget_child_category_transfers .clone() - .filter(|t| t.amount >= 0) + .filter(|t| t.amount < 0) .collect(); if from_transfers.len() != 1 { bail!( @@ -79,7 +79,7 @@ fn transform_category_transfer_without_context( let to_transfers: Vec<ActualbudgetTransaction> = actualbudget_child_category_transfers .clone() - .filter(|t| t.amount < 0) + .filter(|t| t.amount > 0) .collect(); if to_transfers.len() != 1 { bail!( @@ -106,7 +106,7 @@ fn transform_category_transfer_without_context( .notes .clone() .unwrap_or_else(String::new), - quantity: from_transfer.amount.try_into().unwrap(), + quantity: to_transfer.amount.try_into().unwrap(), from_category_id, to_category_id, })) @@ -151,13 +151,13 @@ mod test { let actualbudget_category_transfers_account = make_fake_actualbudget_account("0"); let actualbudget_transactions = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").amount(100).category_id(Some(String::from("0"))).build().unwrap(), - make_fake_to_child_transaction_builder("2", "0").amount(-100).category_id(Some(String::from("1"))).build().unwrap(), + make_fake_from_child_transaction_builder("1", 100, "0").category_id(Some(String::from("0"))).build().unwrap(), + make_fake_to_child_transaction_builder("2", 100, "0").category_id(Some(String::from("1"))).build().unwrap(), make_fake_parent_transaction("3"), - make_fake_from_child_transaction_builder("4", "3").amount(200).category_id(Some(String::from("1"))).build().unwrap(), - make_fake_to_child_transaction_builder("5", "3").amount(-200).category_id(Some(String::from("0"))).build().unwrap(), + make_fake_from_child_transaction_builder("4", 200, "3").category_id(Some(String::from("1"))).build().unwrap(), + make_fake_to_child_transaction_builder("5", 200, "3").category_id(Some(String::from("0"))).build().unwrap(), make_fake_actualbudget_transaction_builder("6").amount(300).build().unwrap(), - make_fake_actualbudget_transaction_builder("7").amount(400).build().unwrap(), + make_fake_actualbudget_transaction_builder("7").amount(-400).build().unwrap(), ]; let result = transform_category_transfers( @@ -193,9 +193,9 @@ mod test { let actualbudget_category_transfers_account = make_fake_actualbudget_account("0"); let actualbudget_transactions = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").amount(50).build().unwrap(), - make_fake_from_child_transaction_builder("2", "0").amount(50).build().unwrap(), - make_fake_to_child_transaction_builder("3", "0").amount(-100).build().unwrap(), + make_fake_from_child_transaction_builder("1", 50, "0").build().unwrap(), + make_fake_from_child_transaction_builder("2", 50, "0").build().unwrap(), + make_fake_to_child_transaction_builder("3", 100, "0").build().unwrap(), ]; let result = transform_category_transfers( @@ -211,9 +211,9 @@ mod test { let actualbudget_category_transfers_account = make_fake_actualbudget_account("0"); let actualbudget_transactions = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").amount(100).build().unwrap(), - make_fake_to_child_transaction_builder("2", "0").amount(-50).build().unwrap(), - make_fake_to_child_transaction_builder("3", "0").amount(-50).build().unwrap(), + make_fake_from_child_transaction_builder("1", 100, "0").build().unwrap(), + make_fake_to_child_transaction_builder("2", 50, "0").build().unwrap(), + make_fake_to_child_transaction_builder("3", 50, "0").build().unwrap(), ]; let result = transform_category_transfers( @@ -261,8 +261,8 @@ mod test { let actualbudget_category_transfers_account = make_fake_actualbudget_account("0"); let actualbudget_transactions = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").amount(50).build().unwrap(), - make_fake_to_child_transaction_builder("2", "0").amount(-100).build().unwrap(), + make_fake_from_child_transaction_builder("1", 50, "0").build().unwrap(), + make_fake_to_child_transaction_builder("2", 100, "0").build().unwrap(), ]; let result = transform_category_transfers( @@ -278,13 +278,13 @@ mod test { let actualbudget_category_transfers_account = make_fake_actualbudget_account("0"); let actualbudget_transactions_0 = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").category_id(None).build().unwrap(), - make_fake_to_child_transaction_builder("2", "0").build().unwrap(), + make_fake_from_child_transaction_builder("1", 100, "0").category_id(None).build().unwrap(), + make_fake_to_child_transaction_builder("2", 100, "0").build().unwrap(), ]; let actualbudget_transactions_1 = [ make_fake_parent_transaction("0"), - make_fake_from_child_transaction_builder("1", "0").build().unwrap(), - make_fake_to_child_transaction_builder("2", "0").category_id(None).build().unwrap(), + make_fake_from_child_transaction_builder("1", 100, "0").build().unwrap(), + make_fake_to_child_transaction_builder("2", 100, "0").category_id(None).build().unwrap(), ]; let result_0 = transform_category_transfers( @@ -314,14 +314,14 @@ mod test { } fn make_fake_from_child_transaction(id: &str, parent_id: &str) -> ActualbudgetTransaction { - make_fake_from_child_transaction_builder(id, parent_id).build().unwrap() + make_fake_from_child_transaction_builder(id, 100, parent_id).build().unwrap() } - fn make_fake_from_child_transaction_builder(id: &str, parent_id: &str) -> ActualbudgetTransactionBuilder { + fn make_fake_from_child_transaction_builder(id: &str, amount: i32, parent_id: &str) -> ActualbudgetTransactionBuilder { let mut builder = make_fake_actualbudget_transaction_builder(id); builder .account_id(String::from("0")) .category_id(Some(String::from("0"))) - .amount(100) + .amount(-amount) .is_child(true) .notes(Some(String::from("I was a from child transaction"))) .parent_id(Some(String::from(parent_id))); @@ -329,15 +329,15 @@ mod test { } fn make_fake_to_child_transaction(id: &str, parent_id: &str) -> ActualbudgetTransaction { - make_fake_to_child_transaction_builder(id, parent_id).build().unwrap() + make_fake_to_child_transaction_builder(id, 100, parent_id).build().unwrap() } - fn make_fake_to_child_transaction_builder(id: &str, parent_id: &str) -> ActualbudgetTransactionBuilder { + fn make_fake_to_child_transaction_builder(id: &str, amount: i32, parent_id: &str) -> ActualbudgetTransactionBuilder { let mut builder = make_fake_actualbudget_transaction_builder(id); builder .account_id(String::from("0")) .category_id(Some(String::from("1"))) - .amount(-100) + .amount(amount) .is_child(true) .notes(Some(String::from("I was a to child transaction"))) .parent_id(Some(String::from(parent_id))); |
