taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit b8dd91d966e49c62d9f32ec918600d84cb28be40
parent 3ef0a78d536857178af7cdace81307829c874afe
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Wed, 29 Apr 2026 08:49:04 -0300

fix #11356

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-paivana.ts | 30+++++++++++++-----------------
1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-paivana.ts b/packages/taler-harness/src/integrationtests/test-paivana.ts @@ -111,7 +111,7 @@ export async function runPaivanaTest(t: GlobalTestState) { merchant.makeInstanceBaseUrl(), ); - logger.info("PAIVANA TEMPLATE ID::", paivanaId); + logger.info("1) PAIVANA ID created", paivanaId); // { // // Check if we magically have access (guess what, no) @@ -120,7 +120,7 @@ export async function runPaivanaTest(t: GlobalTestState) { // logger.info("first paivana check", res); // t.assertTrue(res.status === 402); // } - logger.info("access denied, we need to pay"); + logger.info("2) access denied, we need to pay"); { // Pay the access to the site @@ -137,7 +137,7 @@ export async function runPaivanaTest(t: GlobalTestState) { }, ); const talerPayTemplateUri = TalerUris.toString(newTemplate); - logger.info("pay template", newTemplate, talerPayTemplateUri); + logger.info("3) pay template", newTemplate, talerPayTemplateUri); const templateStatus = await walletClient.call( WalletApiOperation.PreparePayForTemplate, @@ -147,14 +147,13 @@ export async function runPaivanaTest(t: GlobalTestState) { templateStatus.status === PreparePayResultType.PaymentPossible, ); const talerPayUri = templateStatus.talerUri; - logger.info("pay order", talerPayUri); + logger.info("4) pay order", talerPayUri); const payStatus = await walletClient.call( WalletApiOperation.PreparePayForUri, { talerPayUri }, ); t.assertTrue(payStatus.status === PreparePayResultType.PaymentPossible); - logger.info("transaction", payStatus.transactionId); const startPayment = await walletClient.call( WalletApiOperation.ConfirmPay, @@ -162,7 +161,7 @@ export async function runPaivanaTest(t: GlobalTestState) { transactionId: payStatus.transactionId, }, ); - TalerErrorCode; + t.assertTrue(startPayment.type === ConfirmPayResultType.Pending); await walletClient.call( WalletApiOperation.TestingWaitTransactionsFinal, @@ -172,7 +171,7 @@ export async function runPaivanaTest(t: GlobalTestState) { transactionId: payStatus.transactionId, }); t.assertTrue(payment.type === ConfirmPayResultType.Done); - logger.info("paid", payment.contractTerms.fulfillment_url); + logger.info("5) order paid", payment.contractTerms.fulfillment_url); const orderStatus = succeedOrThrow( await merchantClient.getOrderDetails( @@ -183,16 +182,16 @@ export async function runPaivanaTest(t: GlobalTestState) { }, ), ); - - console.log("MERCHANT SAY: ", orderStatus); + // check that merchant also think is paid for this session t.assertTrue(orderStatus.order_status === "paid"); } + logger.info("6) getting the order based on session and site"); + const order = succeedOrThrow( await merchantClient.getOrderIdForSessionAndUrl(paivanaId, website), ); - logger.info("checking paivana state again"); // while (true) { // // Check if we have access @@ -210,14 +209,13 @@ export async function runPaivanaTest(t: GlobalTestState) { // break; // } - logger.info(`---- ORDER ID ${order}`, { + logger.info(`---- STATE ${website}`, { order_id: order.order_id, nonce, - cur_time: { t_s: cur_time }, + cur_time, website, }); - // await waitMs(50000); const res = await harnessHttpLib.fetch( `${paivana.baseUrl}.well-known/paivana`, { @@ -233,11 +231,9 @@ export async function runPaivanaTest(t: GlobalTestState) { }, ); - console.log(await res.json()); - t.assertTrue(res.status === 200); - // TODO: the test is incomplete + t.assertTrue(res.headers.get("location") === website) + t.assertTrue(res.status === 303); - // TODO: verify cookie } runPaivanaTest.suites = ["wallet"];