fix: override accountConnectionStatusProvider in E2E test to prevent spinner deadlock

CircularProgressIndicator in _AccountTile (from accountConnectionStatusProvider)
runs continuously and prevents pumpAndSettle() from ever settling on Android,
causing frame-pump storms that drop the StreamBuilder data state and make
tap(aliceTile) find 0 widgets.

Overriding the provider to return immediately means no spinner ever enters the
tree, so pumpUntil() can use pumpAndSettle() cleanly again.

Also adds task run-android (boots sharedinbox_test AVD and runs flutter run).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Güttler
2026-04-26 21:22:38 +02:00
co-authored by Claude Sonnet 4.6
parent c4928ef362
commit e50ff3cd1d
5 changed files with 142 additions and 3 deletions
+4
View File
@@ -145,6 +145,10 @@ void main() {
// Stalwart dev server has no TLS — use plaintext IMAP/SMTP throughout.
imapConnectProvider.overrideWithValue(_connectImapPlaintext),
smtpConnectProvider.overrideWithValue(_connectSmtpPlaintext),
// Skip the real IMAP connection-check so _AccountTile never shows a
// CircularProgressIndicator — pumpAndSettle() cannot settle while a
// continuously-running animation is in the tree.
accountConnectionStatusProvider.overrideWith((ref, _) async {}),
],
);
await tester.pumpAndSettle();