@@ -10,12 +10,8 @@ import type {
1010} from "../../api/types.ts" ;
1111import type { ApplicationContext , ApplicationGatewaySnapshot } from "../../app/context.ts" ;
1212import type { SessionCapability } from "../../lib/sessions/index.ts" ;
13+ import { getWorkboardState } from "../../lib/workboard/index.ts" ;
1314import type { SessionsRouteData } from "./sessions-page.ts" ;
14-
15- const captureSessionToWorkboard = vi . hoisted ( ( ) => vi . fn ( ) ) ;
16-
17- vi . mock ( "../../lib/workboard/index.ts" , ( ) => ( { captureSessionToWorkboard } ) ) ;
18-
1915import "./sessions-page.ts" ;
2016
2117type TestSessionsPage = HTMLElement & {
@@ -163,7 +159,6 @@ async function createPage(context: ApplicationContext): Promise<TestSessionsPage
163159afterEach ( ( ) => {
164160 document . body . replaceChildren ( ) ;
165161 vi . restoreAllMocks ( ) ;
166- captureSessionToWorkboard . mockReset ( ) ;
167162} ) ;
168163
169164describe ( "sessions page lifecycle" , ( ) => {
@@ -319,10 +314,19 @@ describe("sessions page lifecycle", () => {
319314 branchCheckpoint : vi . fn ( ( ) => branched . promise as never ) ,
320315 restoreCheckpoint : vi . fn ( ( ) => restored . promise as never ) ,
321316 } ) ;
322- captureSessionToWorkboard . mockReturnValue ( captured . promise ) ;
323- const client = { } as GatewayBrowserClient ;
317+ const request = vi . fn ( ( method : string ) => {
318+ if ( method === "chat.history" ) {
319+ return Promise . resolve ( { messages : [ ] } ) ;
320+ }
321+ if ( method === "workboard.cards.create" ) {
322+ return captured . promise ;
323+ }
324+ return Promise . resolve ( { } ) ;
325+ } ) ;
326+ const client = { request } as unknown as GatewayBrowserClient ;
324327 const mutableGateway = createGateway ( client ) ;
325328 const context = createContext ( mutableGateway . gateway , sessions ) ;
329+ getWorkboardState ( context . workboard ) . loaded = true ;
326330 const page = await createPage ( context ) ;
327331 page . result = { count : 1 , sessions : [ { key : "main" } ] } as SessionsListResult ;
328332 page . selectedKeys = new Set ( [ "main" ] ) ;
@@ -336,7 +340,9 @@ describe("sessions page lifecycle", () => {
336340 page . restoreCheckpoint ( "main" , "restore-checkpoint" ) ,
337341 page . addToWorkboard ( { key : "main" } as GatewaySessionRow ) ,
338342 ] ;
339- await vi . waitFor ( ( ) => expect ( captureSessionToWorkboard ) . toHaveBeenCalledOnce ( ) ) ;
343+ await vi . waitFor ( ( ) =>
344+ expect ( request ) . toHaveBeenCalledWith ( "workboard.cards.create" , expect . any ( Object ) ) ,
345+ ) ;
340346
341347 mutableGateway . emit ( { connected : false , client } ) ;
342348 deleted . resolve ( { deleted : [ "main" ] , errors : [ "stale delete error" ] } ) ;
0 commit comments