commit 2688ad89f53bdd41963b9714c27e75a4e0b9525b
parent bf7a8fad03fccb32e77c34c66befbac12d86d123
Author: Florian Dold <florian@dold.me>
Date: Tue, 29 Apr 2025 00:49:21 +0200
wallet-core,harness: fix handling of prior prospective coin selection in PendingPaying state
Diffstat:
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/packages/taler-harness/src/integrationtests/test-timetravel-autorefresh.ts b/packages/taler-harness/src/integrationtests/test-timetravel-autorefresh.ts
@@ -18,12 +18,12 @@
* Imports.
*/
import {
- ConfirmPayResultType,
Duration,
NotificationType,
PreparePayResultType,
TalerCorebankApiClient,
TalerMerchantInstanceHttpClient,
+ TransactionMajorState,
j2s,
succeedOrThrow,
} from "@gnu-taler/taler-util";
@@ -263,11 +263,16 @@ export async function runTimetravelAutorefreshTest(t: GlobalTestState) {
t.assertTrue(r.status === PreparePayResultType.PaymentPossible);
- const cpr = await walletClient.call(WalletApiOperation.ConfirmPay, {
+ await walletClient.call(WalletApiOperation.ConfirmPay, {
transactionId: r.transactionId,
});
- t.assertTrue(cpr.type === ConfirmPayResultType.Done);
+ await walletClient.call(WalletApiOperation.TestingWaitTransactionState, {
+ transactionId: r.transactionId,
+ txState: {
+ major: TransactionMajorState.Done,
+ },
+ });
}
runTimetravelAutorefreshTest.suites = ["wallet"];
diff --git a/packages/taler-wallet-core/src/pay-merchant.ts b/packages/taler-wallet-core/src/pay-merchant.ts
@@ -3258,6 +3258,7 @@ async function processPurchasePay(
switch (p.purchaseStatus) {
case PurchaseStatus.DialogShared:
case PurchaseStatus.DialogProposed:
+ case PurchaseStatus.PendingPaying:
p.payInfo = {
totalPayCost: Amounts.stringify(payCostInfo),
payCoinSelection: {
@@ -3281,7 +3282,6 @@ async function processPurchasePay(
});
return true;
case PurchaseStatus.Done:
- case PurchaseStatus.PendingPaying:
default:
break;
}