test(setup): guide-shot harness opens the wizard via Settings; changelog for the setup rework
Some checks failed
Security / Security check (push) Failing after 2s

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-17 19:08:40 +02:00
parent adb8d3f914
commit c81bc16eb9
2 changed files with 32 additions and 4 deletions

View file

@ -5,6 +5,24 @@ version + `kStudioVersion` in `lib/main.dart` stay in lockstep.
## Unreleased ## Unreleased
### Changed (setup lives before the app)
- **First-run gate.** A fresh install starts inside the setup: a
dedicated screen hosts the wizard before the app appears (embedded
mode + explicit "Später einrichten" skip). The Welcome page loses
its setup button entirely; re-running the setup lives in Settings →
General ("Run setup again…"). Wording de-ad-ified: "Einrichtung
starten" instead of "In 3 Fragen loslegen".
- **Preview before permission.** The plan preview now calls the new
PlanSetup RPC over the live hub connection instead of spawning the
chain CLI — whose first run could pop the macOS file-access prompt
BEFORE the operator ever saw the plan. CLI remains the no-hub
fallback; applying stays the explicit separate step.
- **Native file dialog for flow file inputs** (with flow-editor
v0.23.0): the Run tab's file inputs open a real picker; typing an
absolute path is now only the no-host fallback.
### Fixed (startup + build time) ### Fixed (startup + build time)
- **Black window on launch.** A corrupt preference value (`hub.secure` - **Black window on launch.** A corrupt preference value (`hub.secure`

View file

@ -241,17 +241,27 @@ void main() {
// 11: the guided-setup wizard, step 1 (localized option cards). // 11: the guided-setup wizard, step 1 (localized option cards).
// 10 (inside a sealed area) still needs the manual procedure // 10 (inside a sealed area) still needs the manual procedure
// it requires switching to a second, isolated hub instance. // it requires switching to a second, isolated hub instance.
// The wizard no longer lives on Welcome (first-run gate owns a
// fresh install; re-running is a Settings action) capture it
// via Settings General like an operator would reach it.
shell.navigateTo('welcome'); shell.navigateTo('welcome');
await _pumpFrames(tester); await _pumpFrames(tester);
final cta = find.textContaining( await tester.sendKeyEvent(LogicalKeyboardKey.escape); // close leftovers
_locale.languageCode == 'en' ? '3 questions' : '3 Fragen', await _pumpFrames(tester, 5);
ChainSettingsDialog.show(tester.element(find.byType(StudioShell)));
await _pumpFrames(tester);
final runSetup = find.textContaining(
_locale.languageCode == 'en' ? 'Run setup again' : 'Einrichtung erneut',
); );
if (cta.evaluate().isNotEmpty) { if (runSetup.evaluate().isNotEmpty) {
await tester.tap(cta.first); await tester.ensureVisible(runSetup.first);
await tester.tap(runSetup.first);
await _pumpFrames(tester); await _pumpFrames(tester);
await _shot(tester, '11-einrichtung'); await _shot(tester, '11-einrichtung');
await tester.sendKeyEvent(LogicalKeyboardKey.escape); await tester.sendKeyEvent(LogicalKeyboardKey.escape);
await _pumpFrames(tester, 5); await _pumpFrames(tester, 5);
await tester.sendKeyEvent(LogicalKeyboardKey.escape); // settings too
await _pumpFrames(tester, 5);
} }
}); });
} }