Skip to content

Start GUI test coverage: XAML schemas and restore-dialog logic - #81

Merged
BiosSystem merged 1 commit into
masterfrom
feature/gui-tests-epic-q-1
Sep 25, 2026
Merged

BiosSystem merged 1 commit into
masterfrom
feature/gui-tests-epic-q-1

Conversation

@BiosSystem

Copy link
Copy Markdown
Owner

First slice of GUI test coverage (Epic Q). The 20 files in Scripts/GUI had no automated tests.

  • Test-GuiXamlSchemas.ps1 loads all 9 files in Schemas through XamlReader, the way the app builds its windows, and fails if any does not construct. A malformed element or an unknown type previously surfaced only when a user opened that window. Each load runs in its own STA runspace, so it works under the pwsh unit job (MTA) as well as a normal STA console. Confirmed to fail on deliberately broken markup ("Cannot create unknown type").
  • Test-RestoreBackupFeatureLists.ps1 covers the restore dialog's pure feature-classification logic: which backed-up features appear in the overview, and which are auto-revertible (have an apply .reg) versus manual. Pure data in, data out; no WPF.

Deferred to a later slice: functions that take live WPF controls (e.g. ConvertTo-NormalizedCheckboxState), which need a constructed control rather than a data object.

Both wired into test.yml. Test-only; no product change, no release.

Local: static validation clean (136 files), full Tests\Unit suite 232 passed / 0 failed (20 new).

The WPF GUI had no automated coverage. This is the first slice.

- Test-GuiXamlSchemas.ps1 loads every file in Schemas the way the app does,
  with XamlReader, and fails if any does not build. A malformed element or an
  unknown type in a window used to surface only when a user opened that window.
  Each load runs in its own STA runspace so it works under the pwsh unit job,
  which is multi-threaded. Confirmed to fail on deliberately broken markup.
- Test-RestoreBackupFeatureLists.ps1 covers the restore dialog's pure feature
  classification: which backed-up features are shown, and which can be reverted
  automatically (they have an apply .reg file) versus by hand. These functions
  take data and return data, no WPF, and had no test.

Both are wired into the unit workflow.
@BiosSystem
BiosSystem merged commit 8c10996 into master Sep 25, 2026
1 check passed
@BiosSystem
BiosSystem deleted the feature/gui-tests-epic-q-1 branch September 25, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant