Deferred from PR #544 (Copilot review comment).
Scope
Add bUnit test coverage for DatabaseToolsModal and its tabs, matching the shape of the existing DebugLogModalTests.cs precedent. The modal currently has significant UI behavior with no unit tests:
- Tab roving focus (Arrow/Home/End keys via the inline JS shim)
- Async cancel-confirm flow when
AnyTabIsRunning is true
[CascadingParameter] VerboseLogging propagation from modal to each tab
- Log view rendering + auto-scroll pin tracking
- Per-tab request-building and dispatch to
IDatabaseToolsService
Suggested test cases (minimum)
- Modal mounts; default active tab is
Show Providers
- Tab keydown (
ArrowRight) switches _activeTab
- Close attempt with
AnyTabIsRunning=true shows cancel confirmation alert
- Close attempt with
AnyTabIsRunning=false closes immediately
VerboseLogging cascading parameter reaches each DatabaseToolsTabBase<T>
- Each tab's
BuildRequest() returns the expected record shape for valid inputs
Out of scope
- Integration coverage exists in
tests/Integration/EventLogExpert.DatabaseTools.IntegrationTests
- Win32 file picker behavior (platform-specific)
Context
Copilot raised this as part of PR #544 review (round 18, comment T1). Deferred via G4 routed-deferred-with-tracker-and-ask_user so PR #544 (already through 18 rounds) can ship.
Deferred from PR #544 (Copilot review comment).
Scope
Add bUnit test coverage for
DatabaseToolsModaland its tabs, matching the shape of the existingDebugLogModalTests.csprecedent. The modal currently has significant UI behavior with no unit tests:AnyTabIsRunningis true[CascadingParameter] VerboseLoggingpropagation from modal to each tabIDatabaseToolsServiceSuggested test cases (minimum)
Show ProvidersArrowRight) switches_activeTabAnyTabIsRunning=trueshows cancel confirmation alertAnyTabIsRunning=falsecloses immediatelyVerboseLoggingcascading parameter reaches eachDatabaseToolsTabBase<T>BuildRequest()returns the expected record shape for valid inputsOut of scope
tests/Integration/EventLogExpert.DatabaseTools.IntegrationTestsContext
Copilot raised this as part of PR #544 review (round 18, comment T1). Deferred via G4
routed-deferred-with-tracker-and-ask_userso PR #544 (already through 18 rounds) can ship.