@@ -2,8 +2,9 @@ import { getErrorMessage } from '@sim/utils/errors'
22import { beforeEach , describe , expect , it , vi } from 'vitest'
33import type { ExecutionContext } from '@/lib/copilot/request/types'
44
5- const { executeWorkflowUseCaseMock } = vi . hoisted ( ( ) => ( {
5+ const { executeWorkflowUseCaseMock, listUserWorkspacesMock } = vi . hoisted ( ( ) => ( {
66 executeWorkflowUseCaseMock : vi . fn ( ) ,
7+ listUserWorkspacesMock : vi . fn ( ) ,
78} ) )
89
910vi . mock ( '@/lib/copilot/application/execute-workflow-use-case' , ( ) => ( {
@@ -12,7 +13,51 @@ vi.mock('@/lib/copilot/application/execute-workflow-use-case', () => ({
1213 getErrorMessage ( error , 'Workflow operation failed' ) ,
1314} ) )
1415
15- import { executeGetBlockOutputs } from './queries'
16+ vi . mock ( '@/lib/workspaces/utils' , ( ) => ( {
17+ listUserWorkspaces : listUserWorkspacesMock ,
18+ } ) )
19+
20+ import { executeGetBlockOutputs , executeListUserWorkspaces } from './queries'
21+
22+ describe ( 'executeListUserWorkspaces' , ( ) => {
23+ beforeEach ( ( ) => {
24+ vi . clearAllMocks ( )
25+ } )
26+
27+ it ( 'marks the current workspace in the accessible workspace list' , async ( ) => {
28+ listUserWorkspacesMock . mockResolvedValue ( [
29+ { workspaceId : 'workspace-1' , workspaceName : 'One' , role : 'owner' } ,
30+ { workspaceId : 'workspace-2' , workspaceName : 'Two' , role : 'read' } ,
31+ ] )
32+
33+ const result = await executeListUserWorkspaces ( {
34+ userId : 'user-1' ,
35+ workflowId : 'workflow-1' ,
36+ workspaceId : 'workspace-2' ,
37+ } )
38+
39+ expect ( listUserWorkspacesMock ) . toHaveBeenCalledWith ( 'user-1' )
40+ expect ( result ) . toEqual ( {
41+ success : true ,
42+ output : {
43+ workspaces : [
44+ {
45+ workspaceId : 'workspace-1' ,
46+ workspaceName : 'One' ,
47+ role : 'owner' ,
48+ isCurrent : false ,
49+ } ,
50+ {
51+ workspaceId : 'workspace-2' ,
52+ workspaceName : 'Two' ,
53+ role : 'read' ,
54+ isCurrent : true ,
55+ } ,
56+ ] ,
57+ } ,
58+ } )
59+ } )
60+ } )
1661
1762describe ( 'executeGetBlockOutputs' , ( ) => {
1863 beforeEach ( ( ) => {
0 commit comments