Problem
The VS Code extension providers lack unit test coverage. Currently only stacTreeProvider has tests (8 tests). The remaining 4 providers have no test coverage:
layersTreeProvider - Manages track/location/result layer display in sidebar
outlineProvider - Provides document outline for plot structure
stacFileSystemProvider - Virtual filesystem for STAC catalog browsing
toolsTreeProvider - Displays available analysis tools based on selection context
Scope
Create comprehensive unit tests for each provider:
layersTreeProvider
outlineProvider
stacFileSystemProvider
toolsTreeProvider
Test Strategy
- Mock VS Code APIs (
vscode.TreeItem, vscode.EventEmitter, etc.)
- Use vitest with existing test infrastructure
- Follow patterns from
stacTreeProvider.test.ts
- Test data transformations and state management, not VS Code integration
Acceptance Criteria
References
- Existing:
tests/unit/stacTreeProvider.test.ts (pattern to follow)
- Source:
src/providers/*.ts
Problem
The VS Code extension providers lack unit test coverage. Currently only
stacTreeProviderhas tests (8 tests). The remaining 4 providers have no test coverage:layersTreeProvider- Manages track/location/result layer display in sidebaroutlineProvider- Provides document outline for plot structurestacFileSystemProvider- Virtual filesystem for STAC catalog browsingtoolsTreeProvider- Displays available analysis tools based on selection contextScope
Create comprehensive unit tests for each provider:
layersTreeProvider
setTracks()/setLocations()/setResultLayers()- data managementgetTreeItem()/getChildren()- tree structureoutlineProvider
stacFileSystemProvider
stat()- file/directory metadatareadDirectory()- catalog/item listingreadFile()- JSON content retrievaltoolsTreeProvider
getTreeItem()/getChildren()- tree structureTest Strategy
vscode.TreeItem,vscode.EventEmitter, etc.)stacTreeProvider.test.tsAcceptance Criteria
References
tests/unit/stacTreeProvider.test.ts(pattern to follow)src/providers/*.ts