diff --git a/src/components/views/rooms/MemberList/MemberListView.tsx b/src/components/views/rooms/MemberList/MemberListView.tsx index 0b5629685c..8901a77b95 100644 --- a/src/components/views/rooms/MemberList/MemberListView.tsx +++ b/src/components/views/rooms/MemberList/MemberListView.tsx @@ -95,7 +95,7 @@ const MemberListView: React.FC = (props: IProps) => { className="mx_MemberListView_container" onKeyDown={onKeyDownHandler} > - + e.preventDefault()}> diff --git a/test/unit-tests/components/views/rooms/memberlist/MemberListView-test.tsx b/test/unit-tests/components/views/rooms/memberlist/MemberListView-test.tsx index 240ad8a502..5aac70059a 100644 --- a/test/unit-tests/components/views/rooms/memberlist/MemberListView-test.tsx +++ b/test/unit-tests/components/views/rooms/memberlist/MemberListView-test.tsx @@ -8,7 +8,7 @@ Please see LICENSE files in the repository root for full details. */ import { act } from "react"; -import { waitFor } from "jest-matrix-react"; +import { waitFor, fireEvent } from "jest-matrix-react"; import { type Room, type RoomMember, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { type JSX } from "react"; @@ -154,6 +154,16 @@ describe("MemberListView and MemberlistHeaderView", () => { expect(root.container.querySelector(".mx_PresenceIconView_unavailable")).not.toBeNull(); }); }); + + it("should prevent default form submission", async () => { + const { root } = rendered; + const form = root.container.querySelector("form"); + expect(form).not.toBeNull(); + const submitEvent = new Event("submit", { bubbles: true, cancelable: true }); + const preventDefaultSpy = jest.spyOn(submitEvent, "preventDefault"); + fireEvent(form!, submitEvent); + expect(preventDefaultSpy).toHaveBeenCalled(); + }); }); describe.each([true, false])("does order members correctly (presence %s)", (enablePresence) => {