Repository navigation
Closed
Description
Step 3 of 4: Drop test-only DI with vitest module mocking
Migrate session sub-handlers and request-router. This is the largest step — these files are tightly coupled and must be migrated together.
Files to migrate (~35 DI params removed)
src/daemon/handlers/session-close.ts (6 optional + 3 required threaded)
- Remove optional:
stopIosRunner?,dismissMacOsAlert?,clearRuntimeHints?,settleSimulator?,shutdownSimulator?,shutdownAndroidEmulator? - Remove required threaded
typeofparams from internal functions (shutdownSimulator,stopIosRunner,dismissMacOsAlert)
src/daemon/handlers/session-open.ts (5 optional + ~9 required threaded)
- Remove optional:
applyRuntimeHints?,clearRuntimeHints?,stopIosRunner?,settleSimulator?,resolveAndroidPackageForOpen? - Remove required threaded:
dispatch,ensureReady,resolveDevice,applyRuntimeHints,stopIosRunner,settleSimulatorfromcompleteOpenCommand,relaunchCloseApp, and other internal functions
src/daemon/handlers/session-deploy.ts (3 required threaded)
- Remove
ensureReady: typeof ensureDeviceReady,resolveDevice: typeof resolveTargetDevice— direct imports deployOpsstays (real composition, not test DI)
src/daemon/handlers/session-device-utils.ts (3 required threaded)
- Remove
ensureReadyFn,resolveTargetDeviceFnfromresolveCommandDevice - Remove
resolveTargetDeviceFnfromrefreshSessionDeviceIfNeeded
src/daemon/handlers/session-runtime.ts (1 required threaded)
- Remove
clearRuntimeHints: typeof clearRuntimeHintsFromApp
src/daemon/handlers/record-trace-recording.ts (1 required threaded)
- Remove
runIosRunnerCommand: typeof runIosRunnerCommand
src/daemon/request-router.ts (5 optional in RequestRouterDeps)
- Remove
dispatchCommand?,snapshotAndroidUi?,reopenAndroidApp?,readAndroidAppState?,execCommand? android-system-dialog.tsalready migrated in step 1, so these just need test rewrites
Tests to rewrite:
handlers/__tests__/session.test.ts(partially — sub-handler tests)handlers/__tests__/session-reinstall.test.tshandlers/__tests__/session-device-utils.test.ts__tests__/request-router-*.test.ts
Validation
pnpm typecheck- Both test runners pass
- Every session sub-handler uses direct imports, no threaded
typeofparams
Metadata
Metadata
Assignees
Labels
No labels
Activity
refactor: migrate session sub-handlers + request-router from test-onl…
refactor: migrate session sub-handlers + request-router from test-onl…
refactor: migrate session sub-handlers + request-router from test-onl…
refactor: migrate session sub-handlers + request-router from test-onl…
refactor: migrate session sub-handlers + request-router from test-onl…
refactor: migrate session sub-handlers + request-router from test-onl…