taler-typescript-core

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

commit 82e02445f553cd37076bc23bdb61118419301549
parent 232897189907cd3cfcdd2fa92c5d1ce02989c8ad
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 30 Oct 2026 10:38:44 +0100

Tests failed on ToS acceptance before withdraw.

The assertion did not wait.  In the step "block on exchange terms and
resume", after clicking "Accept terms" the test needs to allow for
some async delay.

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-wallet-web-ui-pwa-withdrawal.ts | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/packages/taler-harness/src/integrationtests/test-wallet-web-ui-pwa-withdrawal.ts b/packages/taler-harness/src/integrationtests/test-wallet-web-ui-pwa-withdrawal.ts @@ -413,6 +413,13 @@ async function runPwaWithdrawalTest( .getByRole("heading", { name: "Review withdrawal" }) .waitFor(); await page.getByText("TESTKUDOS:2", { exact: true }).waitFor(); + // Accepting the terms reaches this screen through a wallet-core + // notification and a refetch, so the blocked rendering outlives the + // heading waited for above. count() and isDisabled() do not wait, + // so sample only once the blocked state is gone for good. + await page + .getByRole("button", { name: "Review terms" }) + .waitFor({ state: "detached" }); if ( await page .getByRole("heading", { name: "Withdraw", exact: true }) @@ -422,7 +429,11 @@ async function runPwaWithdrawalTest( "withdrawal amount entry reappeared after accepting terms", ); } - if (await page.getByRole("button", { name: "Review terms" }).count()) { + if ( + await page + .getByRole("button", { name: "Withdraw", exact: true }) + .isDisabled() + ) { throw Error( "withdrawal stayed blocked after accepting exchange terms", );