From 014e5b0cd0d7cbe943b5e60a406ac2c714cdb84d Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Mon, 9 Dec 2024 04:09:00 +0100 Subject: [PATCH] add test_new_account and test_mark_spent_utxo --- accounts/src/account_core/mod.rs | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/accounts/src/account_core/mod.rs b/accounts/src/account_core/mod.rs index e848237..05e4a92 100644 --- a/accounts/src/account_core/mod.rs +++ b/accounts/src/account_core/mod.rs @@ -122,3 +122,46 @@ impl Default for Account { Self::new() } } + +#[cfg(test)] +mod tests { + use super::*; + + fn generate_dummy_utxo_nullifier() -> UTXONullifier { + UTXONullifier::default() + } + + fn generate_dummy_utxo(address: TreeHashType, amount: u128) -> UTXO { + let payload = UTXOPayload { + owner: address, + asset: vec![], + amount, + privacy_flag: false, + }; + UTXO::create_utxo_from_payload(payload) + } + + #[test] + fn test_new_account() { + let account = Account::new(); + + assert_eq!(account.balance, 0); + assert!(account.key_holder.address != [0u8; 32]); // Check if the address is not empty + } + + #[test] + fn test_mark_spent_utxo() { + let mut account = Account::new(); + let utxo = generate_dummy_utxo(account.address, 100); + account.add_new_utxo_outputs(vec![utxo]).unwrap(); + + let mut utxo_nullifier_map = HashMap::new(); + utxo_nullifier_map.insert(account.address, generate_dummy_utxo_nullifier()); + + let result = account.mark_spent_utxo(utxo_nullifier_map); + + assert!(result.is_ok()); + assert!(account.utxo_tree.store.get(&account.address).is_none()); + } + +}