Skip to content

Commit 6508b8a

Browse files
committed
Test missing event/delay id fields in responses
1 parent 3d1e6bd commit 6508b8a

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

spec/unit/embedded.spec.ts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,17 @@ describe("RoomWidgetClient", () => {
143143
);
144144
});
145145

146+
it("send handles wrong field in response", async () => {
147+
await makeClient({ sendEvent: ["org.matrix.rageshake_request"] });
148+
widgetApi.sendRoomEvent.mockResolvedValueOnce({
149+
room_id: "!1:example.org",
150+
delay_id: `id-${Math.random}`,
151+
});
152+
await expect(
153+
client.sendEvent("!1:example.org", "org.matrix.rageshake_request", { request_id: 123 }),
154+
).rejects.toThrow();
155+
});
156+
146157
it("receives", async () => {
147158
const event = new MatrixEvent({
148159
type: "org.matrix.rageshake_request",
@@ -278,6 +289,43 @@ describe("RoomWidgetClient", () => {
278289
);
279290
});
280291

292+
it("send delayed message events handles wrong field in response", async () => {
293+
await makeClient({ sendDelayedEvents: true, sendEvent: ["org.matrix.rageshake_request"] });
294+
widgetApi.sendRoomEvent.mockResolvedValueOnce({
295+
room_id: "!1:example.org",
296+
event_id: `$${Math.random()}`,
297+
});
298+
await expect(
299+
client._unstable_sendDelayedEvent(
300+
"!1:example.org",
301+
{ delay: 2000 },
302+
null,
303+
"org.matrix.rageshake_request",
304+
{ request_id: 123 },
305+
),
306+
).rejects.toThrow();
307+
});
308+
309+
it("send delayed state events handles wrong field in response", async () => {
310+
await makeClient({
311+
sendDelayedEvents: true,
312+
sendState: [{ eventType: "org.example.foo", stateKey: "bar" }],
313+
});
314+
widgetApi.sendStateEvent.mockResolvedValueOnce({
315+
room_id: "!1:example.org",
316+
event_id: `$${Math.random()}`,
317+
});
318+
await expect(
319+
client._unstable_sendDelayedStateEvent(
320+
"!1:example.org",
321+
{ delay: 2000 },
322+
"org.example.foo",
323+
{ hello: "world" },
324+
"bar",
325+
),
326+
).rejects.toThrow();
327+
});
328+
281329
it("updates delayed events", async () => {
282330
await makeClient({ updateDelayedEvents: true, sendEvent: ["org.matrix.rageshake_request"] });
283331
expect(widgetApi.requestCapability).toHaveBeenCalledWith(MatrixCapabilities.MSC4157UpdateDelayedEvent);
@@ -385,6 +433,17 @@ describe("RoomWidgetClient", () => {
385433
);
386434
});
387435

436+
it("send handles incorrect response", async () => {
437+
await makeClient({ sendState: [{ eventType: "org.example.foo", stateKey: "bar" }] });
438+
widgetApi.sendStateEvent.mockResolvedValueOnce({
439+
room_id: "!1:example.org",
440+
delay_id: `id-${Math.random}`,
441+
});
442+
await expect(
443+
client.sendStateEvent("!1:example.org", "org.example.foo", { hello: "world" }, "bar"),
444+
).rejects.toThrow();
445+
});
446+
388447
it("receives", async () => {
389448
await makeClient({ receiveState: [{ eventType: "org.example.foo", stateKey: "bar" }] });
390449
expect(widgetApi.requestCapabilityForRoomTimeline).toHaveBeenCalledWith("!1:example.org");

0 commit comments

Comments
 (0)