diff options
author | Iván Ávalos <avalos@disroot.org> | 2024-06-05 12:12:40 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2024-06-05 14:18:37 -0600 |
commit | dc5f99339c491a4f09ea7c627418cfb4b1c42990 (patch) | |
tree | 247348a796f318decdbda88704e23fb55f20d732 /packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts | |
parent | 4433a2a6d7c9ac641d3a33a48774ee83732f9510 (diff) | |
download | wallet-core-dc5f99339c491a4f09ea7c627418cfb4b1c42990.tar.xz |
harness: refactor wallet-insufficient-balance + libeufin support
Diffstat (limited to 'packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts')
-rw-r--r-- | packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts | 83 |
1 files changed, 14 insertions, 69 deletions
diff --git a/packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts b/packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts index ac1244446..4062e186d 100644 --- a/packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts +++ b/packages/taler-harness/src/integrationtests/test-wallet-insufficient-balance.ts @@ -22,71 +22,32 @@ import { Duration, PaymentInsufficientBalanceDetails, TalerErrorCode, - WalletNotification, } from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js"; import { - ExchangeService, - FakebankService, GlobalTestState, - MerchantService, - WalletClient, - WalletService, generateRandomPayto, setupDb, } from "../harness/harness.js"; -import { withdrawViaBankV2 } from "../harness/helpers.js"; +import { createSimpleTestkudosEnvironmentV3, withdrawViaBankV3 } from "../harness/helpers.js"; export async function runWalletInsufficientBalanceTest(t: GlobalTestState) { // Set up test environment const db = await setupDb(t); - const bank = await FakebankService.create(t, { - allowRegistrations: true, - currency: "TESTKUDOS", - database: db.connStr, - httpPort: 8082, - }); - - const exchange = ExchangeService.create(t, { - name: "testexchange-1", - currency: "TESTKUDOS", - httpPort: 8081, - database: db.connStr, - }); - - const merchant = await MerchantService.create(t, { - name: "testmerchant-1", - currency: "TESTKUDOS", - httpPort: 8083, - database: db.connStr, - }); - - const exchangeBankAccount = await bank.createExchangeAccount( - "myexchange", - "x", - ); - exchangeBankAccount.skipWireFeeCreation = true; - exchange.addBankAccount("1", exchangeBankAccount); - - bank.setSuggestedExchange(exchange, exchangeBankAccount.accountPaytoUri); - - await bank.start(); - - await bank.pingUntilAvailable(); - const coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => x("TESTKUDOS")); - exchange.addCoinConfigList(coinConfig); - - await exchange.start(); - await exchange.pingUntilAvailable(); - merchant.addExchange(exchange); - - await merchant.start(); - await merchant.pingUntilAvailable(); + let { + bankClient, + exchange, + merchant, + walletService, + walletClient, + } = await createSimpleTestkudosEnvironmentV3(t, coinConfig, { + skipWireFeeCreation: true, + }); await merchant.addInstanceWithWireAccount({ id: "default", @@ -106,24 +67,6 @@ export async function runWalletInsufficientBalanceTest(t: GlobalTestState) { ), }); - const walletService = new WalletService(t, { - name: "wallet", - useInMemoryDb: true, - }); - await walletService.start(); - await walletService.pingUntilAvailable(); - - const allNotifications: WalletNotification[] = []; - - const walletClient = new WalletClient({ - name: "wallet", - unixPath: walletService.socketPath, - onNotification(n) { - console.log("got notification", n); - allNotifications.push(n); - }, - }); - await walletClient.connect(); await walletClient.client.call(WalletApiOperation.InitWallet, { config: { testing: { @@ -132,9 +75,9 @@ export async function runWalletInsufficientBalanceTest(t: GlobalTestState) { }, }); - const wres = await withdrawViaBankV2(t, { + const wres = await withdrawViaBankV3(t, { amount: "TESTKUDOS:10", - bank, + bankClient, exchange, walletClient, }); @@ -146,10 +89,12 @@ export async function runWalletInsufficientBalanceTest(t: GlobalTestState) { depositPaytoUri: "payto://x-taler-bank/localhost/foobar", }); }); + t.assertDeepEqual( exc.errorDetail.code, TalerErrorCode.WALLET_DEPOSIT_GROUP_INSUFFICIENT_BALANCE, ); + const insufficientBalanceDetails: PaymentInsufficientBalanceDetails = exc.errorDetail.insufficientBalanceDetails; |