taler-typescript-core

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

commit 54c522bf8fd6096a13dde7178e29c1ef97a6caf1
parent 761ddac6d84f66406e97e68961f74649d1e81623
Author: Florian Dold <dold@taler.net>
Date:   Mon, 14 Sep 2026 01:42:38 +0200

taler-harness: follow the MFA token reveal screen

Read the issued token from the reveal screen and acknowledge saving it
before returning to the access list. Require the token to stay out of
the URL.

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-merchant-webui-mfa.ts | 14+++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/packages/taler-harness/src/integrationtests/test-merchant-webui-mfa.ts b/packages/taler-harness/src/integrationtests/test-merchant-webui-mfa.ts @@ -450,7 +450,19 @@ async function runMerchantWebuiMfaTestImpl( mfa.email.path, ); await enterLatestEmailCode(t, page, mfa.email.path); - await page.waitForURL(/#\/access\?created_token=/, { timeout: 15_000 }); + await page + .getByRole("heading", { name: "Machine Access Created" }) + .waitFor({ state: "visible", timeout: 15_000 }); + // MFA returns to the one-time reveal screen. The issued credential must + // stay out of the URL, and the user acknowledges saving it before leaving. + const issuedToken = await page.locator("input[readonly]").inputValue(); + t.assertTrue(issuedToken.length > 0); + t.assertTrue(!page.url().includes(issuedToken)); + await page.waitForURL(/#\/access\/new$/, { timeout: 15_000 }); + await page + .getByRole("button", { name: "I have saved it → Done", exact: true }) + .click(); + await page.waitForURL(/#\/access$/, { timeout: 15_000 }); await page .getByRole("table") .getByText(successfulDescription, { exact: true })