Skip to content

fix(site): add tests for createMockWebSocket #19172

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Aug 7, 2025
Prev Previous commit
Next Next commit
refactor: rename variable
  • Loading branch information
Parkreiner committed Aug 5, 2025
commit 1834c5908d9d82ba6800cce7f5009b6e8230a153
72 changes: 36 additions & 36 deletions site/src/utils/OneWayWebSocket.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Lets a consumer add an event listener of each type", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -53,14 +53,14 @@ describe(OneWayWebSocket.name, () => {
oneWay.addEventListener("error", onError);
oneWay.addEventListener("message", onMessage);

publisher.publishOpen(new Event("open"));
publisher.publishClose(new CloseEvent("close"));
publisher.publishError(
mockServer.publishOpen(new Event("open"));
mockServer.publishClose(new CloseEvent("close"));
mockServer.publishError(
new ErrorEvent("error", {
error: new Error("Whoops - connection broke"),
}),
);
publisher.publishMessage(
mockServer.publishMessage(
new MessageEvent("message", {
data: "null",
}),
Expand All @@ -73,12 +73,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Lets a consumer remove an event listener of each type", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -98,14 +98,14 @@ describe(OneWayWebSocket.name, () => {
oneWay.removeEventListener("error", onError);
oneWay.removeEventListener("message", onMessage);

publisher.publishOpen(new Event("open"));
publisher.publishClose(new CloseEvent("close"));
publisher.publishError(
mockServer.publishOpen(new Event("open"));
mockServer.publishClose(new CloseEvent("close"));
mockServer.publishError(
new ErrorEvent("error", {
error: new Error("Whoops - connection broke"),
}),
);
publisher.publishMessage(
mockServer.publishMessage(
new MessageEvent("message", {
data: "null",
}),
Expand All @@ -118,12 +118,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Only calls each callback once if callback is added multiple times", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -140,14 +140,14 @@ describe(OneWayWebSocket.name, () => {
oneWay.addEventListener("message", onMessage);
}

publisher.publishOpen(new Event("open"));
publisher.publishClose(new CloseEvent("close"));
publisher.publishError(
mockServer.publishOpen(new Event("open"));
mockServer.publishClose(new CloseEvent("close"));
mockServer.publishError(
new ErrorEvent("error", {
error: new Error("Whoops - connection broke"),
}),
);
publisher.publishMessage(
mockServer.publishMessage(
new MessageEvent("message", {
data: "null",
}),
Expand All @@ -160,12 +160,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Lets consumers register multiple callbacks for each event type", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -188,14 +188,14 @@ describe(OneWayWebSocket.name, () => {
oneWay.addEventListener("error", onError2);
oneWay.addEventListener("message", onMessage2);

publisher.publishOpen(new Event("open"));
publisher.publishClose(new CloseEvent("close"));
publisher.publishError(
mockServer.publishOpen(new Event("open"));
mockServer.publishClose(new CloseEvent("close"));
mockServer.publishError(
new ErrorEvent("error", {
error: new Error("Whoops - connection broke"),
}),
);
publisher.publishMessage(
mockServer.publishMessage(
new MessageEvent("message", {
data: "null",
}),
Expand Down Expand Up @@ -241,12 +241,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Gives consumers pre-parsed versions of message events", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -262,7 +262,7 @@ describe(OneWayWebSocket.name, () => {
data: JSON.stringify(payload),
});

publisher.publishMessage(event);
mockServer.publishMessage(event);
expect(onMessage).toHaveBeenCalledWith({
sourceEvent: event,
parsedMessage: payload,
Expand All @@ -271,12 +271,12 @@ describe(OneWayWebSocket.name, () => {
});

it("Exposes parsing error if message payload could not be parsed as JSON", () => {
let publisher!: MockWebSocketServer;
let mockServer!: MockWebSocketServer;
const oneWay = new OneWayWebSocket({
apiRoute: dummyRoute,
websocketInit: (url, protocols) => {
const [socket, pub] = createMockWebSocket(url, protocols);
publisher = pub;
const [socket, server] = createMockWebSocket(url, protocols);
mockServer = server;
return socket;
},
});
Expand All @@ -288,7 +288,7 @@ describe(OneWayWebSocket.name, () => {
const event = new MessageEvent("message", {
data: payload,
});
publisher.publishMessage(event);
mockServer.publishMessage(event);

const arg: OneWayMessageEvent<never> = onMessage.mock.lastCall[0];
expect(arg.sourceEvent).toEqual(event);
Expand Down
Loading