depolymerization

wire gateway for Bitcoin/Ethereum
Log | Files | Refs | Submodules | README | LICENSE

commit 1625c91c87dd12ca1943207f2219c7755e9a572e
parent 7d9efbb0705fff3ab3d58e374c9d088567e9aec6
Author: Antoine A <>
Date:   Tue, 29 Jul 2025 16:18:57 +0200

bitcoin: fix tests

Diffstat:
Mdepolymerizer-bitcoin/src/db.rs | 22+++++++++++++++++-----
Mdepolymerizer-bitcoin/tests/api.rs | 2+-
2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/depolymerizer-bitcoin/src/db.rs b/depolymerizer-bitcoin/src/db.rs @@ -158,15 +158,23 @@ pub async fn transfer_page<'a>( params: &Page, currency: &Currency, ) -> sqlx::Result<Vec<TransferListStatus>> { - if status.is_some_and(|s| s != TransferState::success) { - return Ok(Vec::new()); - } + let status = match status { + Some(s) => match s { + TransferState::pending => Some(DebitStatus::requested), + TransferState::success => Some(DebitStatus::sent), + TransferState::transient_failure | TransferState::permanent_failure => { + return Ok(Vec::new()); + } + }, + None => None, + }; + page( e, "id", params, || { - QueryBuilder::new( + let mut sql = QueryBuilder::new( " SELECT id, @@ -178,7 +186,11 @@ pub async fn transfer_page<'a>( created FROM tx_out WHERE request_uid IS NOT NULL AND ", - ) + ); + if let Some(status) = status { + sql.push(" status = ").push_bind(status).push(" AND "); + } + sql }, |r: PgRow| { Ok(TransferListStatus { diff --git a/depolymerizer-bitcoin/tests/api.rs b/depolymerizer-bitcoin/tests/api.rs @@ -60,7 +60,7 @@ async fn transfer() { let (server, _) = setup().await; transfer_routine( &server, - TransferState::success, + TransferState::pending, &payto("payto://bitcoin/1FfmbHfnpaZjKFvyi1okTjJJusN455paPH?receiver-name=Anonymous"), ) .await;