From 48fa2ccea16e1d0e11d5ac93049bc33df8d47119 Mon Sep 17 00:00:00 2001 From: MS Date: Fri, 5 Feb 2021 16:24:06 +0100 Subject: [PATCH] libeufin tutorial: testing up to payment preparation --- .../src/integrationtests/libeufin.ts | 31 +++++++++++++++++++ .../test-libeufin-tutorial.ts | 11 +++++++ 2 files changed, 42 insertions(+) diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts index f55719e13..021e06635 100644 --- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts +++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts @@ -95,6 +95,16 @@ export interface LibeufinBankAccountImportDetails { connectionName: string; } +export interface LibeufinPreparedPaymentDetails { + creditorIban: string; + creditorBic: string; + creditorName: string; + subject: string; + amount: string; + currency: string; + nexusBankAccountName: string; +} + export class LibeufinSandboxService implements LibeufinSandboxServiceInterface { static async create( gc: GlobalTestState, @@ -472,6 +482,27 @@ export class LibeufinCli { ); console.log(stdout); } + + async preparePayment(details: LibeufinPreparedPaymentDetails): Promise { + const stdout = await sh( + this.globalTestState, + "libeufin-cli-preparepayment", + `libeufin-cli accounts prepare-payment` + + ` --creditor-iban=${details.creditorIban}` + + ` --creditor-bic=${details.creditorBic}` + + ` --creditor-name='${details.creditorName}'` + + ` --payment-subject='${details.subject}'` + + ` --payment-amount=${details.currency}:${details.amount}` + + ` ${details.nexusBankAccountName}`, + { + ...process.env, + LIBEUFIN_NEXUS_URL: this.cliDetails.nexusUrl, + LIBEUFIN_NEXUS_USERNAME: this.cliDetails.user.username, + LIBEUFIN_NEXUS_PASSWORD: this.cliDetails.user.password, + }, + ); + console.log(stdout); + } } export namespace LibeufinSandboxApi { diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts index 559937c90..23fc9126d 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts @@ -109,4 +109,15 @@ export async function runLibeufinTutorialTest(t: GlobalTestState) { bankAccountImportDetails.nexusBankAccountName, ); await libeufinCli.transactions(bankAccountImportDetails.nexusBankAccountName); + + const paymentDetails = { + creditorIban: "DE42500105171245624648", + creditorBic: "BELADEBEXXX", + creditorName: "Mina Musterfrau", + subject: "Purchase 01234", + amount: "1.0", + currency: "EUR", + nexusBankAccountName: bankAccountImportDetails.nexusBankAccountName, + }; + await libeufinCli.preparePayment(paymentDetails); }