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
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:
parent
adb8d3f914
commit
c81bc16eb9
2 changed files with 32 additions and 4 deletions
18
CHANGELOG.md
18
CHANGELOG.md
|
|
@ -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`
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue