test: tighten qa matrix sync assertions

This commit is contained in:
Shakker 2026-05-10 17:24:37 +01:00
parent 679fe96469
commit 9adb18b752
No known key found for this signature in database

View file

@ -71,18 +71,21 @@ describe("matrix sync helpers", () => {
matched: false,
since: "next-batch-2",
});
expect(observedEvents).toEqual(
expect.arrayContaining([
expect.objectContaining({
kind: "message",
body: "hello",
eventId: "$driver",
roomId: "!room:matrix-qa.test",
sender: "@driver:matrix-qa.test",
type: "m.room.message",
}),
]),
);
expect(observedEvents).toEqual([
{
kind: "message",
roomId: "!room:matrix-qa.test",
eventId: "$driver",
sender: "@driver:matrix-qa.test",
stateKey: undefined,
type: "m.room.message",
originServerTs: undefined,
body: "hello",
formattedBody: undefined,
msgtype: "m.text",
membership: undefined,
},
]);
});
it("keeps recording later same-batch events after the first match", async () => {
@ -130,26 +133,50 @@ describe("matrix sync helpers", () => {
});
expect(result).toEqual({
event: expect.objectContaining({
event: {
kind: "message",
roomId: "!room:matrix-qa.test",
eventId: "$sut",
}),
sender: "@sut:matrix-qa.test",
stateKey: undefined,
type: "m.room.message",
originServerTs: undefined,
body: "target",
formattedBody: undefined,
msgtype: "m.text",
membership: undefined,
},
matched: true,
since: "next-batch-2",
});
expect(observedEvents).toEqual(
expect.arrayContaining([
expect.objectContaining({
kind: "message",
body: "target",
eventId: "$sut",
}),
expect.objectContaining({
kind: "message",
body: "trailing event",
eventId: "$driver",
}),
]),
);
expect(observedEvents).toEqual([
{
kind: "message",
roomId: "!room:matrix-qa.test",
eventId: "$sut",
sender: "@sut:matrix-qa.test",
stateKey: undefined,
type: "m.room.message",
originServerTs: undefined,
body: "target",
formattedBody: undefined,
msgtype: "m.text",
membership: undefined,
},
{
kind: "message",
roomId: "!room:matrix-qa.test",
eventId: "$driver",
sender: "@driver:matrix-qa.test",
stateKey: undefined,
type: "m.room.message",
originServerTs: undefined,
body: "trailing event",
formattedBody: undefined,
msgtype: "m.text",
membership: undefined,
},
]);
});
it("lets a second wait reuse later same-batch events without another /sync", async () => {
@ -288,11 +315,22 @@ describe("matrix sync helpers", () => {
const [reply, notice] = await waits;
expect(reply.event.eventId).toBe("$reply");
expect(notice).toMatchObject({
event: expect.objectContaining({
expect(notice).toEqual({
event: {
kind: "notice",
roomId: "!room:matrix-qa.test",
eventId: "$notice",
}),
sender: "@sut:matrix-qa.test",
stateKey: undefined,
type: "m.room.message",
originServerTs: undefined,
body: "notice",
formattedBody: undefined,
msgtype: "m.notice",
membership: undefined,
},
matched: true,
since: "next-batch-2",
});
expect(calls).toBe(1);
});