summaryrefslogtreecommitdiff
path: root/packages/taler-harness/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-harness/src')
-rw-r--r--packages/taler-harness/src/harness/harness.ts2
-rw-r--r--packages/taler-harness/src/harness/helpers.ts9
-rw-r--r--packages/taler-harness/src/integrationtests/test-deposit.ts30
3 files changed, 30 insertions, 11 deletions
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<WithdrawalGroupFinishedNotification>;
}
+/**
+ * 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,
{},
);