All 651 tests pass, 71 test files, 0 failures.
Changes:
1. dashboard-profile-override (×2):
- Mock call count race condition: getDashboards fires extra call on mount
- Fix: use mockImplementation with override tracking instead of mockResolvedValueOnce
- No more brittle call-count assertions
2. dataset_review_workspace:
- goto mock not connected: /navigation mock created standalone vi.fn()
instead of reusing hoisted mockedGoto
- postApi resolved immediately, too fast for waitFor to catch 'importing'
- Fix: deferred postApi promise + fixed goto mock reference
- Also added missing import { goto } from '/navigation' in page component
3. Earlier fixes (from previous commit):
- TargetSchemaHint: result.missing_columns → res?.missing_columns
- CorrectionCell: border-blue-300 → border-blue-600
- TranslationPreview: @UX_STATE: → @UX_STATE (no colon)
Attempts summary:
- [ATTEMPT: 1] TS migration complete, 6 pre-existing failures
- [ATTEMPT: 2] Fixed 3 stale assertions (border-blue, @UX_STATE, result. → res?.)
- [ATTEMPT: 3] Fixed remaining 3 (mock race, goto connection, missing import)
Superset Tools Frontend (SvelteKit)
This is the frontend for the Superset Tools application, built with SvelteKit in SPA mode.
Development
-
Install dependencies:
npm install -
Run development server:
npm run devThe frontend will be available at
http://localhost:5173. It is configured to proxy API requests tohttp://localhost:8000.
Production Build
-
Build the static SPA:
npm run buildThis generates a static SPA in the
build/directory. -
Serve with Backend: The Python backend is configured to serve the files from
frontend/build/. Ensure the backend is running:cd ../backend python src/app.py
Architecture
- Routing: File-based routing in
src/routes/. - Layouts: Shared UI in
src/routes/+layout.svelte. - Data Loading:
loadfunctions in+page.tsfor efficient data fetching. - API Client: Centralized API logic in
src/lib/api.js. - Styling: Tailwind CSS.