| 12345678910111213141516171819202122232425262728293031323334353637 |
- /** Real bundle dependency closures activate their requested client plugins without extra roster rows. */
- import { FiberState } from '@deepseek-ai/cordis'
- import { describe, expect, vi } from 'vitest'
- import { createClientTest, webApp } from '../src/assembly/index.ts'
- const HMR = '@deepseek-ai/dsh-client-hmr'
- const MODULES = '@deepseek-ai/dsh-client-modules'
- const SESSIONS = '@deepseek-ai/dsh-api-session-controller'
- const FILE_UPLOAD = '@deepseek-ai/dsh-client-file-upload'
- const hmrRoster = webApp.closure([HMR])
- const sessionRoster = webApp.closure([SESSIONS])
- const hmrTest = createClientTest({ roster: hmrRoster }, { awaitConnected: false })
- const sessionTest = createClientTest({ roster: sessionRoster })
- describe('bundle dependency closures', () => {
- hmrTest('activates HMR with its declared module provider and no Connection', async ({ start }) => {
- expect(hmrRoster.rows.map(row => row.name)).toContain(MODULES)
- const client = await start()
- const entry = [...client.ctx.loader.entries()].find(row => row.options.name === HMR)
- expect(entry?.fiber?.state).toBe(FiberState.ACTIVE)
- expect(client.ctx.get('modules')).toBeDefined()
- expect(client.ctx.get('connection')).toBeUndefined()
- }, 60_000)
- sessionTest('activates Session Controller with its declared file-upload provider', async ({ mock, start }) => {
- expect(sessionRoster.rows.map(row => row.name)).toContain(FILE_UPLOAD)
- const client = await start()
- const entry = [...client.ctx.loader.entries()].find(row => row.options.name === SESSIONS)
- expect(entry?.fiber?.state).toBe(FiberState.ACTIVE)
- expect(client.ctx.get('fileUpload')).toBeDefined()
- await vi.waitFor(() => {
- expect(client.ctx.sessions.list.getSnapshot().phase).toBe('ready')
- expect(mock.log.calls('session/list')).toHaveLength(1)
- expect(mock.log.streams('session/control')).toHaveLength(1)
- })
- }, 60_000)
- })
|