Keep the auto fast-forward watcher off mock accounts in UI tests
- Adds a mock for fast forwarding accounts in UI tests.
- Example of this problem is that this job is failing: https://gitlab.com/wallywallet/wallet/-/jobs/15877993423
Problem / solution
mockAccount() stubs the autoFastForwardAttempted / autoFastForwardSuppressed getters but not their setters. WallyApp.autoFastForwardFocusedAccount() watches whatever account is focused, and fastForwardAvailable() is an extension function — not mockable — that always sees the mock's dummy wallet as far behind. So whenever a test focuses a mock account, the watcher reads autoFastForwardAttempted == false and hits the unstubbed setter, throwing CallNotMockedException: Call Account(N).autoFastForwardAttempted = true not mocked! in a background coroutine (seen in job 15877993423 on !806 (merged), which only adds handlePaste tests).
The mock now reports the auto attempt as already made and stubs both setters with backing vars, following the flags pattern already used in the file.
Implementation notes
autoFastForwardAttemptedstartstrueso the watcher's eligible branch does nothing, instead of callingfastForwardAccount()on a mock (which would hit further unstubbed members viastartAccountFastForward).- Both setters are functional backing-var stubs, so the re-arm path (
autoFastForwardAttempted = false) cannot throw either. - The exception was caught by
displayUnexpectedError, so it never failed a test directly — but it killed the watcher coroutine for the rest of the process and spammed 'Unexpected Exception' into test logs. (The red test in the linked job,assetInfoPermScreenTesttiming out waiting for a p2p connection, is CI network flake — this MR removes the unrelated unmocked-call noise.)
Verified locally: :shared:jvmTest --tests "ui.ActionPermissionScreensTest.specialTxPermScreenBuyEightAssetsTest" passes.