Skip to content

Commit 0b636ae

Browse files
committed
Improve coverage
Signed-off-by: Michael Telatynski <[email protected]>
1 parent 931edd7 commit 0b636ae

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

test/unit-tests/components/structures/FilePanel-test.tsx

+41-2
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ Please see LICENSE files in the repository root for full details.
77
*/
88

99
import React from "react";
10-
import { EventTimelineSet, PendingEventOrdering, Room } from "matrix-js-sdk/src/matrix";
10+
import { EventTimelineSet, PendingEventOrdering, Room, RoomEvent } from "matrix-js-sdk/src/matrix";
1111
import { screen, render, waitFor } from "jest-matrix-react";
1212
import { mocked } from "jest-mock";
1313

1414
import FilePanel from "../../../../src/components/structures/FilePanel";
1515
import ResizeNotifier from "../../../../src/utils/ResizeNotifier";
16-
import { stubClient } from "../../../test-utils";
16+
import { mkEvent, stubClient } from "../../../test-utils";
1717
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
1818

1919
jest.mock("matrix-js-sdk/src/matrix", () => ({
@@ -47,4 +47,43 @@ describe("FilePanel", () => {
4747
});
4848
expect(asFragment()).toMatchSnapshot();
4949
});
50+
51+
describe("addEncryptedLiveEvent", () => {
52+
it("should add file msgtype event to filtered timelineSet", async () => {
53+
const cli = MatrixClientPeg.safeGet();
54+
const room = new Room("!room:server", cli, cli.getSafeUserId(), {
55+
pendingEventOrdering: PendingEventOrdering.Detached,
56+
});
57+
cli.reEmitter.reEmit(room, [RoomEvent.Timeline]);
58+
const timelineSet = new EventTimelineSet(room);
59+
room.getOrCreateFilteredTimelineSet = jest.fn().mockReturnValue(timelineSet);
60+
mocked(cli.getRoom).mockReturnValue(room);
61+
62+
let filePanel: FilePanel | null;
63+
render(
64+
<FilePanel
65+
roomId={room.roomId}
66+
onClose={jest.fn()}
67+
resizeNotifier={new ResizeNotifier()}
68+
ref={(ref) => (filePanel = ref)}
69+
/>,
70+
);
71+
await screen.findByText("No files visible in this room");
72+
73+
const event = mkEvent({
74+
type: "m.room.message",
75+
user: cli.getSafeUserId(),
76+
room: room.roomId,
77+
content: {
78+
body: "hello",
79+
url: "mxc://matrix.org/1234",
80+
msgtype: "m.file",
81+
},
82+
event: true,
83+
});
84+
filePanel!.addEncryptedLiveEvent(event);
85+
86+
expect(timelineSet.getLiveTimeline().getEvents()).toContain(event);
87+
});
88+
});
5089
});

0 commit comments

Comments
 (0)