diff options
author | Florian Dold <florian@dold.me> | 2024-04-03 16:21:33 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-04-03 16:21:33 +0200 |
commit | 65a656163797e9dd298b34ec916b982082db7f52 (patch) | |
tree | 1a226c657639c69194ddf7682a805bf2aa14191c /packages/taler-harness | |
parent | 5417b8b7b866f1c4f4d99d6ec9ad001af67822b6 (diff) | |
download | wallet-core-65a656163797e9dd298b34ec916b982082db7f52.tar.xz |
wallet-core: allow deposits with balance locked behind refresh
Diffstat (limited to 'packages/taler-harness')
-rw-r--r-- | packages/taler-harness/src/integrationtests/test-wallet-blocked-deposit.ts (renamed from packages/taler-harness/src/integrationtests/test-wallet-refresh-blocked.ts) | 44 | ||||
-rw-r--r-- | packages/taler-harness/src/integrationtests/testrunner.ts | 4 |
2 files changed, 40 insertions, 8 deletions
diff --git a/packages/taler-harness/src/integrationtests/test-wallet-refresh-blocked.ts b/packages/taler-harness/src/integrationtests/test-wallet-blocked-deposit.ts index 4662c5110..cb9c54f1d 100644 --- a/packages/taler-harness/src/integrationtests/test-wallet-refresh-blocked.ts +++ b/packages/taler-harness/src/integrationtests/test-wallet-blocked-deposit.ts @@ -17,10 +17,16 @@ /** * Imports. */ -import { AmountString, j2s } from "@gnu-taler/taler-util"; +import { + AmountString, + NotificationType, + TransactionMajorState, + TransactionMinorState, + j2s, +} from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { CoinConfig } from "../harness/denomStructures.js"; -import { GlobalTestState } from "../harness/harness.js"; +import { GlobalTestState, generateRandomPayto } from "../harness/harness.js"; import { createSimpleTestkudosEnvironmentV2, createWalletDaemonWithClient, @@ -43,7 +49,7 @@ const coinCommon = { /** * Run test for refreshe after a payment. */ -export async function runWalletRefreshBlockedTest(t: GlobalTestState) { +export async function runWalletBlockedDeposit(t: GlobalTestState) { // Set up test environment const coinConfigList: CoinConfig[] = [ @@ -66,6 +72,7 @@ export async function runWalletRefreshBlockedTest(t: GlobalTestState) { const { walletClient: w1 } = await createWalletDaemonWithClient(t, { name: "w1", + persistent: true, config: { testing: { devModeActive: true, @@ -97,6 +104,8 @@ export async function runWalletRefreshBlockedTest(t: GlobalTestState) { }, }); + const userPayto = generateRandomPayto("foo"); + const bal = await w1.call(WalletApiOperation.GetBalances, {}); console.log(`balance: ${j2s(bal)}`); @@ -109,12 +118,35 @@ export async function runWalletRefreshBlockedTest(t: GlobalTestState) { const depositCheckResp = await w1.call(WalletApiOperation.PrepareDeposit, { amount: "TESTKUDOS:18" as AmountString, - depositPaytoUri: "payto://x-taler-bank/localhost/myuser", + depositPaytoUri: userPayto, }); console.log(`check resp: ${j2s(depositCheckResp)}`); - // t.assertTrue(false); + const depositCreateResp = await w1.call( + WalletApiOperation.CreateDepositGroup, + { + amount: "TESTKUDOS:18" as AmountString, + depositPaytoUri: userPayto, + }, + ); + + console.log(`create resp: ${j2s(depositCreateResp)}`); + + const depositTrackCond = w1.waitForNotificationCond((n) => { + return ( + n.type === NotificationType.TransactionStateTransition && + n.transactionId === depositCreateResp.transactionId && + n.newTxState.major === TransactionMajorState.Pending && + n.newTxState.minor === TransactionMinorState.Track + ); + }); + + await w1.call(WalletApiOperation.ApplyDevExperiment, { + devExperimentUri: "taler://dev-experiment/stop-block-refresh", + }); + + await depositTrackCond; } -runWalletRefreshBlockedTest.suites = ["wallet"]; +runWalletBlockedDeposit.suites = ["wallet"]; diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts b/packages/taler-harness/src/integrationtests/testrunner.ts index 2bca91e45..063aefa43 100644 --- a/packages/taler-harness/src/integrationtests/testrunner.ts +++ b/packages/taler-harness/src/integrationtests/testrunner.ts @@ -101,7 +101,7 @@ import { runWalletGenDbTest } from "./test-wallet-gendb.js"; import { runWalletInsufficientBalanceTest } from "./test-wallet-insufficient-balance.js"; import { runWalletNotificationsTest } from "./test-wallet-notifications.js"; import { runWalletObservabilityTest } from "./test-wallet-observability.js"; -import { runWalletRefreshBlockedTest } from "./test-wallet-refresh-blocked.js"; +import { runWalletBlockedDeposit } from "./test-wallet-blocked-deposit.js"; import { runWalletRefreshTest } from "./test-wallet-refresh.js"; import { runWalletWirefeesTest } from "./test-wallet-wirefees.js"; import { runWallettestingTest } from "./test-wallettesting.js"; @@ -213,7 +213,7 @@ const allTests: TestMainFunction[] = [ runWalletWirefeesTest, runDenomLostTest, runWalletDenomExpireTest, - runWalletRefreshBlockedTest, + runWalletBlockedDeposit, ]; export interface TestRunSpec { |