Refactor API routes and hooks to use library clients
- Wire `api/geocode` and `api/bike-route` to use `GeocodingClient` and `BikeRoutingClient` instead of raw fetch calls - Move `parseHafasJourneys` from `useJourneys` to `hafas-client` - Remove dead code `src/lib/live-status-utils.ts` - Update test setup to import `@testing-library/jest-dom/vitest`
This commit is contained in:
+4
-4
@@ -21,19 +21,19 @@ Fix bugs that crash the app or lose user data.
|
||||
|
||||
Eliminate duplicated logic so each integration has one source of truth.
|
||||
|
||||
- [ ] **Step 4: Consolidate HAFAS Journey Parsing** (~40 min)
|
||||
- [x] **Step 4: Consolidate HAFAS Journey Parsing** (~40 min)
|
||||
- Move `parseHafasJourneys` from `useJourneys.ts` into `hafas-client.ts` and export it; import from `useJourneys.ts` (Option A — minimal risk)
|
||||
- Files: `src/lib/hafas-client.ts`, `src/hooks/useJourneys.ts`
|
||||
|
||||
- [ ] **Step 5: Wire API Routes to Use Library Clients** (~30 min)
|
||||
- [x] **Step 5: Wire API Routes to Use Library Clients** (~30 min)
|
||||
- Replace raw `fetch()` in `api/geocode/route.ts` with `GeocodingClient`, and in `api/bike-route/route.ts` with `BikeRoutingClient` (module-level singleton, proper error handling)
|
||||
- Files: `src/app/api/geocode/route.ts`, `src/app/api/bike-route/route.ts`
|
||||
|
||||
- [ ] **Step 6: Remove Dead Code** (~5 min)
|
||||
- [x] **Step 6: Remove Dead Code** (~5 min)
|
||||
- Delete `src/lib/live-status-utils.ts` entirely; remove its export from `src/lib/index.ts`
|
||||
- File: `src/lib/live-status-utils.ts`, `src/lib/index.ts`
|
||||
|
||||
- [ ] **Step 7: Create Missing Test Setup File** (~10 min)
|
||||
- [x] **Step 7: Create Missing Test Setup File** (~10 min)
|
||||
- Create `src/test/setup.ts` with `import "@testing-library/jest-dom/vitest"` so jsdom matchers are registered globally
|
||||
- File: `src/test/setup.ts`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user