MCPcopy Index your code
hub / github.com/coder/coder / mockDynamicParameterWebSocket

Function mockDynamicParameterWebSocket

site/src/testHelpers/websockets.ts:170–206  ·  view source on GitHub ↗
(
	response: DynamicParametersResponse | readonly PreviewParameter[],
)

Source from the content-addressed store, hash-verified

168}
169
170export function mockDynamicParameterWebSocket(
171 response: DynamicParametersResponse | readonly PreviewParameter[],
172): readonly [MockWebSocket, MockWebSocketServer] {
173 let message: DynamicParametersResponse;
174 if (Array.isArray(response)) {
175 message = {
176 id: 0,
177 parameters: response,
178 diagnostics: [],
179 };
180 } else {
181 message = response as DynamicParametersResponse;
182 }
183 const [mockWebSocket, mockPublisher] = createMockWebSocket("ws://test");
184 vi.spyOn(API, "templateVersionDynamicParameters").mockImplementation(
185 (_versionId, _ownerId, callbacks) => {
186 mockWebSocket.addEventListener("message", (event) => {
187 callbacks.onMessage(JSON.parse(event.data));
188 });
189 mockWebSocket.addEventListener("error", () => {
190 callbacks.onError(
191 new Error("Connection for dynamic parameters failed."),
192 );
193 });
194 mockWebSocket.addEventListener("close", () => {
195 callbacks.onClose();
196 });
197 mockPublisher.publishOpen(new Event("open"));
198 mockPublisher.publishMessage(
199 new MessageEvent("message", { data: JSON.stringify(message) }),
200 );
201
202 return mockWebSocket;
203 },
204 );
205 return [mockWebSocket, mockPublisher];
206}

Calls 4

createMockWebSocketFunction · 0.85
parseMethod · 0.80
publishMessageMethod · 0.80
addEventListenerMethod · 0.65

Tested by

no test coverage detected