From 43ae414a55b84b1125c5e4377c6d485ca6c748e2 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 6 Apr 2023 12:47:34 +0200 Subject: -re-add missing fields, fix types --- packages/taler-harness/src/harness/harness.ts | 2 +- packages/taler-harness/src/harness/helpers.ts | 9 +++++++ .../src/integrationtests/test-deposit.ts | 30 ++++++++++++++-------- 3 files changed, 30 insertions(+), 11 deletions(-) (limited to 'packages/taler-harness') diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts index 5733e776b..840149e7c 100644 --- a/packages/taler-harness/src/harness/harness.ts +++ b/packages/taler-harness/src/harness/harness.ts @@ -2097,7 +2097,7 @@ export interface WalletClientArgs { export class WalletClient { remoteWallet: RemoteWallet | undefined = undefined; - waiter: WalletNotificationWaiter = makeNotificationWaiter(); + private waiter: WalletNotificationWaiter = makeNotificationWaiter(); constructor(private args: WalletClientArgs) {} diff --git a/packages/taler-harness/src/harness/helpers.ts b/packages/taler-harness/src/harness/helpers.ts index d203cc608..516312ed8 100644 --- a/packages/taler-harness/src/harness/helpers.ts +++ b/packages/taler-harness/src/harness/helpers.ts @@ -99,6 +99,8 @@ export interface EnvOptions { /** * Run a test case with a simple TESTKUDOS Taler environment, consisting * of one exchange, one bank and one merchant. + * + * @deprecated use {@link createSimpleTestkudosEnvironmentV2} instead */ export async function createSimpleTestkudosEnvironment( t: GlobalTestState, @@ -505,6 +507,11 @@ export interface WithdrawViaBankResult { withdrawalFinishedCond: Promise; } +/** + * Withdraw via a bank with the testing API enabled. + * Uses the new notification-based mechanism to wait for the + * operation to finish. + */ export async function withdrawViaBankV2( t: GlobalTestState, p: { @@ -550,6 +557,8 @@ export async function withdrawViaBankV2( /** * Withdraw balance. + * + * @deprecated use {@link withdrawViaBankV2 instead} */ export async function withdrawViaBank( t: GlobalTestState, diff --git a/packages/taler-harness/src/integrationtests/test-deposit.ts b/packages/taler-harness/src/integrationtests/test-deposit.ts index 24dcbafc0..1b46daf5f 100644 --- a/packages/taler-harness/src/integrationtests/test-deposit.ts +++ b/packages/taler-harness/src/integrationtests/test-deposit.ts @@ -17,11 +17,12 @@ /** * Imports. */ +import { NotificationType, TransactionState } from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { GlobalTestState, getPayto } from "../harness/harness.js"; import { - createSimpleTestkudosEnvironment, - withdrawViaBank, + createSimpleTestkudosEnvironmentV2, + withdrawViaBankV2, } from "../harness/helpers.js"; /** @@ -30,16 +31,27 @@ import { export async function runDepositTest(t: GlobalTestState) { // Set up test environment - const { wallet, bank, exchange, merchant } = - await createSimpleTestkudosEnvironment(t); + const { walletClient, bank, exchange } = + await createSimpleTestkudosEnvironmentV2(t); // Withdraw digital cash into the wallet. - await withdrawViaBank(t, { wallet, bank, exchange, amount: "TESTKUDOS:20" }); + const withdrawalResult = await withdrawViaBankV2(t, { + walletClient, + bank, + exchange, + amount: "TESTKUDOS:20", + }); - await wallet.runUntilDone(); + await withdrawalResult.withdrawalFinishedCond; - const { depositGroupId } = await wallet.client.call( + const depositDone = await walletClient.waitForNotificationCond( + (n) => + n.type == NotificationType.TransactionStateTransition && + n.newTxState == TransactionState.Done, + ); + + const depositGroupResult = await walletClient.client.call( WalletApiOperation.CreateDepositGroup, { amount: "TESTKUDOS:10", @@ -47,9 +59,7 @@ export async function runDepositTest(t: GlobalTestState) { }, ); - await wallet.runUntilDone(); - - const transactions = await wallet.client.call( + const transactions = await walletClient.client.call( WalletApiOperation.GetTransactions, {}, ); -- cgit v1.2.3