Skip to content

Commit 59a349a

Browse files
committed
test(new room list): add landmark navigation test
1 parent f207371 commit 59a349a

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

test/unit-tests/components/views/rooms/RoomListPanel/RoomList-test.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@
88
import React from "react";
99
import { type MatrixClient } from "matrix-js-sdk/src/matrix";
1010
import { render } from "jest-matrix-react";
11+
import { fireEvent } from "@testing-library/dom";
1112

1213
import { mkRoom, stubClient } from "../../../../../test-utils";
1314
import { type RoomListViewState } from "../../../../../../src/components/viewmodels/roomlist/RoomListViewModel";
1415
import { RoomList } from "../../../../../../src/components/views/rooms/RoomListPanel/RoomList";
1516
import DMRoomMap from "../../../../../../src/utils/DMRoomMap";
1617
import { SecondaryFilters } from "../../../../../../src/components/viewmodels/roomlist/useFilteredRooms";
1718
import { SortOption } from "../../../../../../src/components/viewmodels/roomlist/useSorter";
19+
import { Landmark, LandmarkNavigation } from "../../../../../../src/accessibility/LandmarkNavigation";
1820

1921
describe("<RoomList />", () => {
2022
let matrixClient: MatrixClient;
@@ -53,4 +55,16 @@ describe("<RoomList />", () => {
5355
const { asFragment } = render(<RoomList vm={vm} />);
5456
expect(asFragment()).toMatchSnapshot();
5557
});
58+
59+
it.each([
60+
{ shortcut: { key: "F6", ctrlKey: true, shiftKey: true }, isPreviousLandmark: true, label: "PreviousLandmark" },
61+
{ shortcut: { key: "F6", ctrlKey: true }, isPreviousLandmark: false, label: "NextLandmark" },
62+
])("should navigate to the landmark on NextLandmark.$label action", ({ shortcut, isPreviousLandmark }) => {
63+
const spyFindLandmark = jest.spyOn(LandmarkNavigation, "findAndFocusNextLandmark").mockReturnValue();
64+
const { getByTestId } = render(<RoomList vm={vm} />);
65+
const roomList = getByTestId("room-list");
66+
fireEvent.keyDown(roomList, shortcut);
67+
68+
expect(spyFindLandmark).toHaveBeenCalledWith(Landmark.ROOM_LIST, isPreviousLandmark);
69+
});
5670
});

0 commit comments

Comments
 (0)