taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 7418438f1189174482f75e5e9e7460b5b4160887
parent 8928496bcb990c89d191194df5aa80c2621f144f
Author: Florian Dold <dold@taler.net>
Date:   Thu, 30 Jul 2026 22:36:02 +0200

harness: check the reason reported for a purse that is gone

Issue: https://bugs.taler.net/n/11654

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-peer-pull.ts | 10++++++++++
Mpackages/taler-harness/src/integrationtests/test-peer-push.ts | 12++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-peer-pull.ts b/packages/taler-harness/src/integrationtests/test-peer-pull.ts @@ -385,6 +385,16 @@ export async function runPeerPullTest(t: GlobalTestState) { }), ]); + const aborted_debit = await wallet2.call( + WalletApiOperation.GetTransactionById, + { transactionId: prepare2.transactionId }, + ); + t.assertDeepEqual( + aborted_debit.abortReason?.code, + TalerErrorCode.WALLET_PEER_PULL_DEBIT_PURSE_GONE, + ); + t.assertDeepEqual((aborted_debit.abortReason as any)?.purseExpired, false); + const aborted_contract = await t.assertThrowsTalerErrorAsync(() => wallet1.call(WalletApiOperation.PreparePeerPullDebit, { talerUri: tx.talerUri!, diff --git a/packages/taler-harness/src/integrationtests/test-peer-push.ts b/packages/taler-harness/src/integrationtests/test-peer-push.ts @@ -404,6 +404,18 @@ export async function runPeerPushTest(t: GlobalTestState) { major: TransactionMajorState.Aborted, }, }); + + const abandoned = await wallet3.call( + WalletApiOperation.GetTransactionById, + { + transactionId: prepare3.transactionId, + }, + ); + t.assertDeepEqual( + abandoned.abortReason?.code, + TalerErrorCode.WALLET_PEER_PUSH_CREDIT_PURSE_GONE, + ); + t.assertDeepEqual((abandoned.abortReason as any)?.purseExpired, false); }); await t.runSpanAsync(