fix(mobile): route phone APIs to selected profile and unblock runtime readiness
This commit is contained in:
1 parent
b1db2870c1
commit
61d765e2df
15 files changed
+970
-176
No files matched your search
@@ -173,3 +173,21 @@ test('reset rejects with a typed error and never enters either backend', async (
|
||||
assert.equal(options.connectRemote.mock.calls.length, 0)
|
||||
assert.equal(options.ensureLocalRuntime.mock.calls.length, 0)
|
||||
})
|
||||
|
||||
test('a sibling runtime completion re-resolves the primary profile without re-running the stale installer', async () => {
|
||||
const gate = createFirstRunSetupGate({ stuckAfterMs: 0 })
|
||||
const installed = { kind: 'python', activeRoot: bootstrapBackend.activeRoot, args: ['--profile', 'fusion-frontier'] }
|
||||
const prepareLocalBackend = vi.fn().mockResolvedValueOnce(bootstrapBackend).mockResolvedValue(installed)
|
||||
const options = startupOptions({ waitForDecision: gate.wait, prepareLocalBackend })
|
||||
const pending = runPrimaryBackendStartup(options)
|
||||
await vi.waitFor(() => assert.equal(gate.hasWaiter(), true))
|
||||
gate.runtimeAvailable(bootstrapBackend.activeRoot)
|
||||
await pending
|
||||
assert.deepEqual(options.ensureLocalRuntime.mock.calls, [[installed]])
|
||||
})
|
||||
|
||||
test('a runtime that disappeared after readiness cannot silently trigger another installation', async () => {
|
||||
const options = startupOptions({ waitForDecision: async () => 'runtime-ready' as const })
|
||||
await assert.rejects(runPrimaryBackendStartup(options), /no longer available/)
|
||||
assert.equal(options.ensureLocalRuntime.mock.calls.length, 0)
|
||||
})
|
||||
Reference in new issue
Block a user