MCPcopy Index your code
hub / github.com/coder/mux / createCoderServiceMocks

Function createCoderServiceMocks

src/node/runtime/coderLifecycleHooks.test.ts:39–82  ·  view source on GitHub ↗
(overrides?: {
  getWorkspaceStatus?: GetWorkspaceStatusMock;
  stopWorkspace?: StopWorkspaceMock;
  startWorkspace?: StartWorkspaceMock;
  deleteWorkspace?: DeleteWorkspaceMock;
})

Source from the content-addressed store, hash-verified

37type DeleteWorkspaceMock = ReturnType<typeof mock<(workspaceName: string) => Promise<void>>>;
38
39function createCoderServiceMocks(overrides?: {
40 getWorkspaceStatus?: GetWorkspaceStatusMock;
41 stopWorkspace?: StopWorkspaceMock;
42 startWorkspace?: StartWorkspaceMock;
43 deleteWorkspace?: DeleteWorkspaceMock;
44}): {
45 coderService: CoderService;
46 getWorkspaceStatus: GetWorkspaceStatusMock;
47 stopWorkspace: StopWorkspaceMock;
48 startWorkspace: StartWorkspaceMock;
49 deleteWorkspace: DeleteWorkspaceMock;
50} {
51 const getWorkspaceStatus =
52 overrides?.getWorkspaceStatus ??
53 mock<
54 (workspaceName: string, options?: { timeoutMs?: number }) => Promise<WorkspaceStatusResult>
55 >(() => Promise.resolve({ kind: "ok", status: "running" }));
56 const stopWorkspace =
57 overrides?.stopWorkspace ??
58 mock<(workspaceName: string, options?: { timeoutMs?: number }) => Promise<Result<void>>>(() =>
59 Promise.resolve(Ok(undefined))
60 );
61 const startWorkspace =
62 overrides?.startWorkspace ??
63 mock<(workspaceName: string, options?: { timeoutMs?: number }) => Promise<Result<void>>>(() =>
64 Promise.resolve(Ok(undefined))
65 );
66 const deleteWorkspace =
67 overrides?.deleteWorkspace ??
68 mock<(workspaceName: string) => Promise<void>>(() => Promise.resolve());
69
70 return {
71 coderService: {
72 getWorkspaceStatus,
73 stopWorkspace,
74 startWorkspace,
75 deleteWorkspace,
76 } as unknown as CoderService,
77 getWorkspaceStatus,
78 stopWorkspace,
79 startWorkspace,
80 deleteWorkspace,
81 };
82}
83
84function expectError(result: Result<void>): string {
85 expect(result.success).toBe(false);

Callers 1

Calls 2

OkFunction · 0.90
resolveMethod · 0.80

Tested by

no test coverage detected