Test Strategy: Superset-Style UX Redesign
Date: 2026-02-19 Executed by: Tester Agent Feature: 019-superset-ux-redesign
Overview
This document describes the testing strategy for the Superset-Style UX Redesign feature. Tests follow the Fractal Co-location strategy, with tests placed in __tests__ subdirectories relative to the code they verify.
Test Structure
Frontend Tests
Location: frontend/src/lib/
| Module | Test File | Tests | Status |
|---|---|---|---|
| sidebar.js (store) | stores/__tests__/test_sidebar.js |
7 | ✅ PASS |
| taskDrawer.js (store) | stores/__tests__/test_taskDrawer.js |
10 | ✅ PASS |
| activity.js (store) | stores/__tests__/test_activity.js |
7 | ✅ PASS |
| Sidebar.svelte | components/layout/__tests__/test_sidebar.svelte.js |
13 | ✅ PASS |
| TaskDrawer.svelte | components/layout/__tests__/test_taskDrawer.svelte.js |
16 | ✅ PASS |
| TopNavbar.svelte | components/layout/__tests__/test_topNavbar.svelte.js |
11 | ✅ PASS |
Backend Tests
Location: backend/src/
| Module | Test File | Tests | Status |
|---|---|---|---|
| DashboardsAPI | api/routes/__tests__/test_dashboards.py |
- | ⚠️ Import Issues |
| DatasetsAPI | api/routes/__tests__/test_datasets.py |
- | ⚠️ Import Issues |
| ResourceService | services/__tests__/test_resource_service.py |
- | ⚠️ Import Issues |
Legacy Tests (working):
| Module | Test File | Tests | Status |
|---|---|---|---|
| Auth | tests/test_auth.py |
3 | ✅ PASS |
| Logger | tests/test_logger.py |
12 | ✅ PASS |
| Models | tests/test_models.py |
3 | ✅ PASS |
| Task Logger | tests/test_task_logger.py |
17 | ✅ PASS |
Test Configuration
Frontend (Vitest)
Configuration: frontend/vitest.config.js
- Environment: jsdom
- Test location:
src/lib/**/__tests__/*.js - Mocks:
$app/environment,$app/stores,$app/navigation - Setup file:
src/lib/stores/__tests__/setupTests.js
Backend (Pytest)
- Tests run from
backend/directory - Virtual environment:
.venv/bin/python3
Known Issues
Frontend
-
WAITING_INPUT status test - Fixed: Tests now correctly expect WAITING_INPUT to NOT be counted as active (only RUNNING tasks count as active per contract)
-
Module caching - Fixed: Added
vi.resetModules()and localStorage cleanup in test setup
Backend
-
Import errors - Pre-existing: Tests in
src/api/routes/__tests__/fail withImportError: attempted relative import beyond top-level package. These tests need refactoring to use correct import paths. -
Log persistence tests - Pre-existing: 9 errors in
tests/test_log_persistence.py
Running Tests
Frontend
cd frontend && npm run test
Backend
cd backend && .venv/bin/python3 -m pytest tests/ -v
Coverage Summary
| Category | Total | Passed | Failed | Errors |
|---|---|---|---|---|
| Frontend | 69 | 69 | 0 | 0 |
| Backend (legacy) | 35 | 35 | 0 | 9 |
| Backend (new) | 0 | 0 | 0 | 29 |
Total: 104 tests passing