docs(archreview): log SecuredWrites IBrowseService bUnit-harness failures against PLAN-07 (pre-existing, surfaced during PLAN-03 full-suite run)

This commit is contained in:
Joseph Doherty
2026-07-09 05:46:29 -04:00
parent c7a0c92244
commit 765ff131d8
2 changed files with 21 additions and 0 deletions
@@ -1260,3 +1260,20 @@ _ = hubClients.Client(connectionId).SendAsync(method, payload).ContinueWith(
**Serialize every task that edits `ManagementActor.cs`** (5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 22, 23, 28, 30, 31) — do not run these concurrently even where logically independent. Tasks 1/3/4/6/14/19/21/26/29 are safe to parallelize early; 31/32/33 can land any time.
**Milestone verification:** after the P0 wave and again at plan completion, run `dotnet build ZB.MOM.WW.ScadaBridge.slnx`, `dotnet test ZB.MOM.WW.ScadaBridge.slnx`, **plus** `dotnet test tests/ZB.MOM.WW.ScadaBridge.CLI.Tests` (until Task 33), and rebuild the docker cluster (`bash docker/deploy.sh`) for a CLI smoke (`--username multi-role --password password`: `deploy artifacts --site-id`, `data-connection get` secret elision, secured-write list gating, a browse call).
---
## Post-plan known issues
- **SecuredWrites bUnit render tests fail — `IBrowseService` not registered in the test harness (logged 2026-07-09, surfaced during PLAN-03's full-suite run).** Three `CentralUI.Tests/Components/SecuredWritesTests` tests fail at render:
- `Operator_SeesSubmitForm`
- `Operator_Submit_CallsServiceWithEnteredValues`
- `Verifier_OwnSubmission_HasApproveAndRejectDisabled`
Each throws `System.InvalidOperationException: Cannot provide a value for property 'BrowseService' on type 'ZB.MOM.WW.ScadaBridge.CentralUI.Components.Dialogs.NodeBrowserDialog'. There is no registered service of type 'ZB.MOM.WW.ScadaBridge.CentralUI.Services.IBrowseService'.`
**Root cause:** the Secured Writes page (`src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Operations/SecuredWrites.razor`) renders `Components/Dialogs/NodeBrowserDialog.razor`, which `@inject`s `IBrowseService`. `SecuredWritesTests` registers the page's own collaborators (`_service`, `_siteRepo`, `_dialog`, auth) but not a fake `IBrowseService`, so rendering the embedded dialog throws. This is a **test-harness DI gap**, not a product defect — the page works at runtime where `IBrowseService` is registered.
**Not a PLAN-03 regression:** discovered during PLAN-03's milestone `dotnet test ZB.MOM.WW.ScadaBridge.slnx` but the failing files were last touched outside that session (`1a7e7351` page/test, `9cff87fe` dialog); PLAN-03 touches only Site Runtime / DCL. Cross-referenced in `00-MASTER-TRACKER.md` → "Pre-existing failure discovered during Wave 1 PLAN-03 execution".
**Fix (PLAN-07):** register a stub `IBrowseService` in the `SecuredWritesTests` `Services` collection before `RenderPage()` (mirror how `_service`/`_dialog` are added), or add it to the shared bUnit fixture so any page embedding `NodeBrowserDialog` renders. Then re-run `dotnet test tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests --filter FullyQualifiedName~SecuredWritesTests` → green.