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:
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 })