Problem
Three test gaps leave SorobanPanel history features, Input multiline and password toggle, and BalanceList sort untested after their fix PRs.
1. SorobanPanel contract ID history and method suggestions are untested
After issue #88, no test verifies: a previously used contract ID is stored in localStorage, the <datalist> renders with the stored value, and clearing localStorage removes the suggestion.
2. Input multiline renders <textarea> and password toggle shows/hides value
After issue #78, no test verifies: <Input multiline> renders a <textarea> element, toggling the eye button changes type from password to text, and the label/error/hint still work in both modes.
3. BalanceList lastCount skeleton row matching is untested
After issue #57, the skeleton row count matches the last known balance count on refresh. No test verifies: initial load shows 3 skeletons, after loading 7 balances a refresh shows 7 skeletons instead of 3.
Solution
Write Vitest tests for all three with vi.stubGlobal("localStorage", ...) where needed.
Acceptance Criteria
Note for Contributors: Write a clear PR description. Include the full npm test output.
Problem
Three test gaps leave
SorobanPanelhistory features,Inputmultiline and password toggle, andBalanceListsort untested after their fix PRs.1.
SorobanPanelcontract ID history and method suggestions are untestedAfter issue #88, no test verifies: a previously used contract ID is stored in
localStorage, the<datalist>renders with the stored value, and clearinglocalStorageremoves the suggestion.2.
Inputmultiline renders<textarea>and password toggle shows/hides valueAfter issue #78, no test verifies:
<Input multiline>renders a<textarea>element, toggling the eye button changestypefrompasswordtotext, and the label/error/hint still work in both modes.3.
BalanceListlastCountskeleton row matching is untestedAfter issue #57, the skeleton row count matches the last known balance count on refresh. No test verifies: initial load shows 3 skeletons, after loading 7 balances a refresh shows 7 skeletons instead of 3.
Solution
Write Vitest tests for all three with
vi.stubGlobal("localStorage", ...)where needed.Acceptance Criteria
SorobanPanelhistorylocalStoragetests passInputmultiline and password toggle tests passBalanceListlastCountskeleton row count test passesnpm test