Problem
Three test coverage gaps leave Sidebar localStorage persistence, TopBar heading semantics, and SorokitProvider isLoading aggregation untested.
1. Sidebar localStorage nav state persistence is untested
After issue #72, no test verifies: localStorage.getItem("sorokit-active-nav") is read on mount, the saved section is pre-selected, and navigating to a new section updates localStorage.
2. TopBar <h1> semantic heading is untested
After issue #73, no test verifies: the page title renders as an <h1> element, the <h1> text matches the active nav label, and only one <h1> exists in the rendered output.
3. SorokitProvider isLoading aggregation is untested
After issue #79 adds isLoading, no test verifies: isLoading is true when isConnecting is true, true when isLoadingAccount is true, and false when both are false.
Solution
Write Vitest tests covering all three:
Sidebar: localStorage read on mount, section pre-selected, navigation updates localStorage.
TopBar: title is <h1>, text matches label, only one <h1>.
SorokitProvider: isLoading correctly aggregates connecting and account loading states.
Acceptance Criteria
Note for Contributors: Write a clear PR description. Include the full npm test output.
Problem
Three test coverage gaps leave
SidebarlocalStorage persistence,TopBarheading semantics, andSorokitProviderisLoadingaggregation untested.1.
SidebarlocalStoragenav state persistence is untestedAfter issue #72, no test verifies:
localStorage.getItem("sorokit-active-nav")is read on mount, the saved section is pre-selected, and navigating to a new section updateslocalStorage.2.
TopBar<h1>semantic heading is untestedAfter issue #73, no test verifies: the page title renders as an
<h1>element, the<h1>text matches the active nav label, and only one<h1>exists in the rendered output.3.
SorokitProviderisLoadingaggregation is untestedAfter issue #79 adds
isLoading, no test verifies:isLoadingistruewhenisConnectingistrue,truewhenisLoadingAccountistrue, andfalsewhen both arefalse.Solution
Write Vitest tests covering all three:
Sidebar: localStorage read on mount, section pre-selected, navigation updates localStorage.TopBar: title is<h1>, text matches label, only one<h1>.SorokitProvider:isLoadingcorrectly aggregates connecting and account loading states.Acceptance Criteria
SidebarlocalStorage tests passTopBar<h1>tests passSorokitProviderisLoadingtests passnpm test