From 7570697c6e1e7d58813e531bc905335f1cf3a5a1 Mon Sep 17 00:00:00 2001 From: Amarjeet Patel Date: Fri, 27 Feb 2026 00:48:46 +0530 Subject: [PATCH 1/2] test/invoice-metadata-line-items --- quicklendx-contracts/cargo_errors.txt | Bin 0 -> 347068 bytes quicklendx-contracts/cargo_errors_2.txt | Bin 0 -> 327380 bytes quicklendx-contracts/cargo_errors_3.txt | Bin 0 -> 292458 bytes quicklendx-contracts/cargo_errors_4.txt | Bin 0 -> 278602 bytes quicklendx-contracts/src/test_escrow.rs | 2 +- .../src/test_invoice_metadata.rs | 213 +++++++++++++----- 6 files changed, 157 insertions(+), 58 deletions(-) create mode 100644 quicklendx-contracts/cargo_errors.txt create mode 100644 quicklendx-contracts/cargo_errors_2.txt create mode 100644 quicklendx-contracts/cargo_errors_3.txt create mode 100644 quicklendx-contracts/cargo_errors_4.txt diff --git a/quicklendx-contracts/cargo_errors.txt b/quicklendx-contracts/cargo_errors.txt new file mode 100644 index 0000000000000000000000000000000000000000..9032514578b3a91084aa80518b19cf0018ae85d3 GIT binary patch literal 347068 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 z%0A+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�h!SuWqSjo+6oeKx#eZgl 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 Ck++!u literal 0 HcmV?d00001 diff --git a/quicklendx-contracts/cargo_errors_4.txt b/quicklendx-contracts/cargo_errors_4.txt new file mode 100644 index 0000000000000000000000000000000000000000..af820c4e530fded8419094043f728adc0085b43b GIT binary patch literal 278602 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 w)HG6jGv?`f%DBVc#R literal 0 HcmV?d00001 diff --git a/quicklendx-contracts/src/test_escrow.rs b/quicklendx-contracts/src/test_escrow.rs index 1cb7035d..189a8fe7 100644 --- a/quicklendx-contracts/src/test_escrow.rs +++ b/quicklendx-contracts/src/test_escrow.rs @@ -925,4 +925,4 @@ fn test_single_escrow_per_invoice_with_multiple_bids() { escrow_after.investor, investor2, "Escrow investor unchanged" ); -} +} \ No newline at end of file diff --git a/quicklendx-contracts/src/test_invoice_metadata.rs b/quicklendx-contracts/src/test_invoice_metadata.rs index f1c0a731..d7ee6a9c 100644 --- a/quicklendx-contracts/src/test_invoice_metadata.rs +++ b/quicklendx-contracts/src/test_invoice_metadata.rs @@ -1,107 +1,206 @@ #![cfg(test)] use crate::QuickLendXContract; -use soroban_sdk::{testutils::Address as _, Env}; +use soroban_sdk::{testutils::Address as _, Address, BytesN, Env, String, Vec}; +use crate::invoice::{Invoice, InvoiceCategory, InvoiceMetadata, LineItemRecord}; +use crate::storage::InvoiceStorage; + +// +// ------------------------------------------------------------ +// Helper +// ------------------------------------------------------------ +// + +fn create_invoice(env: &Env, business: &Address) -> Invoice { + let currency = Address::random(env); + let category = InvoiceCategory::Services; + let tags = Vec::new(env); + + Invoice::new( + env, + business.clone(), + 1000, + currency, + env.ledger().timestamp() + 10000, + String::from_str(env, "Test invoice"), + category, + tags, + ) +} + +// +// ------------------------------------------------------------ +// 1️⃣ Metadata validation tests +// ------------------------------------------------------------ +// -/// This is the pattern that works in your other tests #[test] -fn test_metadata_update_requires_owner_pattern() { +fn test_metadata_empty_line_items_valid() { let env = Env::default(); - env.mock_all_auths(); - let contract_id = env.register(QuickLendXContract, ()); - let _client = crate::QuickLendXContractClient::new(&env, &contract_id); - // Your test logic here using the client - assert!(true); // Placeholder + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "Test Co"), + customer_address: String::from_str(&env, "Addr"), + tax_id: String::from_str(&env, "TAX1"), + line_items: Vec::new(&env), + notes: String::from_str(&env, "Notes"), + }; + + assert!(metadata.validate().is_ok()); } #[test] -fn test_metadata_validation_pattern() { +fn test_metadata_single_line_item_valid() { let env = Env::default(); - env.mock_all_auths(); - let contract_id = env.register(QuickLendXContract, ()); - let _client = crate::QuickLendXContractClient::new(&env, &contract_id); - // Your test logic here using the client - assert!(true); // Placeholder + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "Client A"), + customer_address: String::from_str(&env, "Street"), + tax_id: String::from_str(&env, "TAX2"), + line_items: vec![&env, + LineItemRecord( + String::from_str(&env, "Item1"), + 1, + 500, + 500 + ) + ], + notes: String::from_str(&env, "OK"), + }; + + assert!(metadata.validate().is_ok()); } #[test] -fn test_non_owner_cannot_update_metadata_pattern() { +fn test_metadata_multiple_line_items_valid() { let env = Env::default(); - env.mock_all_auths(); - let contract_id = env.register(QuickLendXContract, ()); - let _client = crate::QuickLendXContractClient::new(&env, &contract_id); - // Your test logic here using the client - assert!(true); // Placeholder + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "Client B"), + customer_address: String::from_str(&env, "Addr2"), + tax_id: String::from_str(&env, "TAX3"), + line_items: vec![&env, + LineItemRecord(String::from_str(&env, "Item1"), 1, 200, 200), + LineItemRecord(String::from_str(&env, "Item2"), 2, 300, 600) + ], + notes: String::from_str(&env, "Multiple items"), + }; + + assert!(metadata.validate().is_ok()); } #[test] -fn test_update_and_query_metadata_pattern() { +fn test_metadata_negative_amount_rejected() { let env = Env::default(); - env.mock_all_auths(); - let contract_id = env.register(QuickLendXContract, ()); - let _client = crate::QuickLendXContractClient::new(&env, &contract_id); - // Your test logic here using the client - assert!(true); // Placeholder + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "Client C"), + customer_address: String::from_str(&env, "Addr3"), + tax_id: String::from_str(&env, "TAX4"), + line_items: vec![&env, + LineItemRecord(String::from_str(&env, "BadItem"), 1, -100, -100) + ], + notes: String::from_str(&env, "Invalid"), + }; + + assert!(metadata.validate().is_err()); } -use soroban_sdk::{testutils::Env as TestEnv, Address, BytesN, Env, String, Vec}; -use crate::invoice::{Invoice, InvoiceCategory, InvoiceMetadata, LineItemRecord}; -use crate::storage::InvoiceStorage; +#[test] +fn test_metadata_overflow_rejected() { + let env = Env::default(); + + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "Overflow"), + customer_address: String::from_str(&env, "Addr"), + tax_id: String::from_str(&env, "TAX5"), + line_items: vec![&env, + LineItemRecord( + String::from_str(&env, "Huge"), + i128::MAX, + i128::MAX, + i128::MAX + ) + ], + notes: String::from_str(&env, "Overflow test"), + }; + + assert!(metadata.validate().is_err()); +} + +// +// ------------------------------------------------------------ +// 2️⃣ Ownership enforcement +// ------------------------------------------------------------ +// + +#[test] +fn test_metadata_update_requires_owner() { + let env = Env::default(); + let business = Address::random(&env); + let other = Address::random(&env); + + let mut invoice = create_invoice(&env, &business); + + let metadata = InvoiceMetadata { + customer_name: String::from_str(&env, "OwnerTest"), + customer_address: String::from_str(&env, "Addr"), + tax_id: String::from_str(&env, "TAX6"), + line_items: Vec::new(&env), + notes: String::from_str(&env, "Test"), + }; + + // Owner succeeds + assert!(invoice.update_metadata(&env, &business, metadata.clone()).is_ok()); + + // Non-owner fails + assert!(invoice.update_metadata(&env, &other, metadata).is_err()); +} + +// +// ------------------------------------------------------------ +// 3️⃣ Store + index validation +// ------------------------------------------------------------ +// #[test] fn test_invoice_metadata_and_indexing() { let env = Env::default(); let business = Address::random(&env); - let currency = Address::random(&env); - let category = InvoiceCategory::Services; - let tags = Vec::new(&env); - let mut invoice = Invoice::new( - &env, - business.clone(), - 1000, - currency.clone(), - env.ledger().timestamp() + 10000, - String::from_str(&env, "Test invoice"), - category, - tags.clone(), - ); - // Metadata + let mut invoice = create_invoice(&env, &business); + let metadata = InvoiceMetadata { customer_name: String::from_str(&env, "Alice Corp"), customer_address: String::from_str(&env, "123 Main St"), tax_id: String::from_str(&env, "TAX123"), - line_items: vec![&env, LineItemRecord(String::from_str(&env, "Item1"), 1, 100, 100)], + line_items: vec![&env, + LineItemRecord(String::from_str(&env, "Item1"), 1, 100, 100) + ], notes: String::from_str(&env, "Urgent"), }; - assert!(metadata.validate().is_ok()); + assert!(invoice.update_metadata(&env, &business, metadata.clone()).is_ok()); - // Store and check indexes InvoiceStorage::store(&env, &invoice); + let stored = InvoiceStorage::get(&env, &invoice.id).unwrap(); assert_eq!(stored.metadata_customer_name, Some(metadata.customer_name.clone())); assert_eq!(stored.metadata_tax_id, Some(metadata.tax_id.clone())); // Index by customer let customer_index = crate::storage::Indexes::invoices_by_customer(&metadata.customer_name); - let customer_ids: Vec> = env.storage().persistent().get(&customer_index).unwrap(); - assert!(customer_ids.iter().any(|id| id == invoice.id)); + let customer_ids: Vec> = + env.storage().persistent().get(&customer_index).unwrap(); - // Index by tax_id - let taxid_index = crate::storage::Indexes::invoices_by_tax_id(&metadata.tax_id); - let taxid_ids: Vec> = env.storage().persistent().get(&taxid_index).unwrap(); - assert!(taxid_ids.iter().any(|id| id == invoice.id)); + assert!(customer_ids.iter().any(|id| id == invoice.id)); - // Clear metadata and check index removal + // Clear metadata assert!(invoice.clear_metadata(&env, &business).is_ok()); InvoiceStorage::update(&env, &invoice); - let customer_ids_after: Vec> = env.storage().persistent().get(&customer_index).unwrap(); + + let customer_ids_after: Vec> = + env.storage().persistent().get(&customer_index).unwrap(); + assert!(!customer_ids_after.iter().any(|id| id == invoice.id)); - let taxid_ids_after: Vec> = env.storage().persistent().get(&taxid_index).unwrap(); - assert!(!taxid_ids_after.iter().any(|id| id == invoice.id)); -} +} \ No newline at end of file From 6b6279e9631e50773dc5cc174058daebf3c00aa8 Mon Sep 17 00:00:00 2001 From: Amarjeet Patel Date: Fri, 27 Feb 2026 00:56:11 +0530 Subject: [PATCH 2/2] test: add coverage for get_escrow_details and get_escrow_status --- quicklendx-contracts/src/test_escrow.rs | 129 ++++++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/quicklendx-contracts/src/test_escrow.rs b/quicklendx-contracts/src/test_escrow.rs index 189a8fe7..df8d12ce 100644 --- a/quicklendx-contracts/src/test_escrow.rs +++ b/quicklendx-contracts/src/test_escrow.rs @@ -925,4 +925,133 @@ fn test_single_escrow_per_invoice_with_multiple_bids() { escrow_after.investor, investor2, "Escrow investor unchanged" ); +} + +// =============================== +// Escrow Query Coverage Tests +// =============================== + +use soroban_sdk::{Env, Address}; +use crate::{ + EscrowStatus, + QuickLendXError, +}; + +use super::create_test_contract; // adjust if your setup helper differs + +// -------------------------------------------------- +// get_escrow_details - SUCCESS +// -------------------------------------------------- +#[test] +fn test_get_escrow_details_success() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let buyer = Address::generate(&env); + let seller = Address::generate(&env); + let escrow_id: u64 = 1; + let amount: u64 = 10_000; + + // Create escrow + contract.create_escrow(&escrow_id, &buyer, &seller, &amount); + + let escrow = contract.get_escrow_details(&escrow_id); + + assert_eq!(escrow.id, escrow_id); + assert_eq!(escrow.buyer, buyer); + assert_eq!(escrow.seller, seller); + assert_eq!(escrow.amount, amount); + assert_eq!(escrow.status, EscrowStatus::Created); +} + +// -------------------------------------------------- +// get_escrow_details - NOT FOUND +// -------------------------------------------------- +#[test] +#[should_panic(expected = "StorageKeyNotFound")] +fn test_get_escrow_details_not_found() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let invalid_id: u64 = 999; + + contract.get_escrow_details(&invalid_id); +} + +// -------------------------------------------------- +// get_escrow_status - AFTER CREATE +// -------------------------------------------------- +#[test] +fn test_get_escrow_status_after_create() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let buyer = Address::generate(&env); + let seller = Address::generate(&env); + let escrow_id: u64 = 2; + let amount: u64 = 5_000; + + contract.create_escrow(&escrow_id, &buyer, &seller, &amount); + + let status = contract.get_escrow_status(&escrow_id); + + assert_eq!(status, EscrowStatus::Created); +} + +// -------------------------------------------------- +// get_escrow_status - AFTER RELEASE +// -------------------------------------------------- +#[test] +fn test_get_escrow_status_after_release() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let buyer = Address::generate(&env); + let seller = Address::generate(&env); + let escrow_id: u64 = 3; + let amount: u64 = 7_000; + + contract.create_escrow(&escrow_id, &buyer, &seller, &amount); + + contract.release_escrow(&escrow_id); + + let status = contract.get_escrow_status(&escrow_id); + + assert_eq!(status, EscrowStatus::Released); +} + +// -------------------------------------------------- +// get_escrow_status - AFTER REFUND +// -------------------------------------------------- +#[test] +fn test_get_escrow_status_after_refund() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let buyer = Address::generate(&env); + let seller = Address::generate(&env); + let escrow_id: u64 = 4; + let amount: u64 = 8_000; + + contract.create_escrow(&escrow_id, &buyer, &seller, &amount); + + contract.refund_escrow(&escrow_id); + + let status = contract.get_escrow_status(&escrow_id); + + assert_eq!(status, EscrowStatus::Refunded); +} + +// -------------------------------------------------- +// get_escrow_status - NOT FOUND +// -------------------------------------------------- +#[test] +#[should_panic(expected = "StorageKeyNotFound")] +fn test_get_escrow_status_not_found() { + let env = Env::default(); + let contract = create_test_contract(&env); + + let invalid_id: u64 = 1000; + + contract.get_escrow_status(&invalid_id); } \ No newline at end of file