screen-locker/stronglift_replacement/workout_app/lib/screens
Krzysztof kuhy Rudnicki 2f95c6cb69 Stop the history tests reading the developer's own Firebase account
14 tests failed with a RemoteSyncError from listDirectory, and the cause was
not in the screen they were testing. The sync guard short-circuits on "no
backend configured", but it asks that question two ways: the sync token AND
whether a Firebase account exists. The tests faked the token into secure
storage and stopped there, so on a machine holding a cached refresh token the
real factory answered yes, the guard opened, and the fetch escaped to the
network -- where flutter_test blocks HttpClient.

That went unnoticed until the Linux desktop target landed, because the desktop
build is what authenticates from the shared refresh token: the same tests pass
on the commit before it, on this machine, this minute.

So the fixture now pins firebaseFactory to "no account" by default, which is
what the faked token was already trying to express, and HistoryScreen takes it
as a tests-only seam next to the httpClient one it already had. The two direct
constructions in workout_sync_read_test.dart are pinned the same way.

402 Flutter tests pass and flutter analyze is clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DfJC1Wu1SEgJ6X49k5Jqtg
2026-08-22 13:01:18 +02:00
..
github_mirror_screen_widgets.dart Split the private widgets out of three more Dart screens 2026-08-15 21:39:57 +02:00
github_mirror_screen.dart Split the private widgets out of three more Dart screens 2026-08-15 21:39:57 +02:00
history_screen_charts.dart Split history_screen.dart (897) into four part files 2026-08-15 21:06:09 +02:00
history_screen_data.dart Stop the relaxed-day popup from re-firing every 30 minutes after Skip 2026-08-18 21:55:59 +02:00
history_screen_painter.dart Split history_screen.dart (897) into four part files 2026-08-15 21:06:09 +02:00
history_screen_tiles.dart Split history_screen.dart (897) into four part files 2026-08-15 21:06:09 +02:00
history_screen.dart Stop the history tests reading the developer's own Firebase account 2026-08-22 13:01:18 +02:00
home_screen_cards.dart Split the private widgets out of three more Dart screens 2026-08-15 21:39:57 +02:00
home_screen_navigation.dart Split home_screen.dart (260) and manual_workout_screen.dart (313) 2026-08-15 22:30:27 +02:00
home_screen.dart Split home_screen.dart (260) and manual_workout_screen.dart (313) 2026-08-15 22:30:27 +02:00
manual_workout_form_parts.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
manual_workout_screen.dart Split home_screen.dart (260) and manual_workout_screen.dart (313) 2026-08-15 22:30:27 +02:00
settings_screen_actions.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
settings_screen_exercise_sections.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
settings_screen_rows.dart Split settings_screen.dart's widgets into part files (771 -> 503) 2026-08-15 21:15:55 +02:00
settings_screen_sections.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
settings_screen_thresholds.dart Split settings_screen.dart's widgets into part files (771 -> 503) 2026-08-15 21:15:55 +02:00
settings_screen_widget.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
settings_screen.dart Split settings_screen.dart (503 -> 211) — the file-length gate now passes 2026-08-15 22:36:23 +02:00
workout_screen_appbar.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen_body.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen_breaks.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen_dialogs.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen_finish.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen_session.dart Split workout_screen.dart (633) into seven part files 2026-08-15 22:04:11 +02:00
workout_screen.dart Run the workout app on Linux, and let it hold the screen lock 2026-08-22 11:18:48 +02:00