Skip to content

Commit 93f04f7

Browse files
authored
Prevent default form submission in MemberListView (#30312)
1 parent 4bbcb8b commit 93f04f7

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

src/components/views/rooms/MemberList/MemberListView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ const MemberListView: React.FC<IProps> = (props: IProps) => {
9595
className="mx_MemberListView_container"
9696
onKeyDown={onKeyDownHandler}
9797
>
98-
<Form.Root>
98+
<Form.Root onSubmit={(e) => e.preventDefault()}>
9999
<MemberListHeaderView vm={vm} />
100100
</Form.Root>
101101
<AutoSizer>

test/unit-tests/components/views/rooms/memberlist/MemberListView-test.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Please see LICENSE files in the repository root for full details.
88
*/
99

1010
import { act } from "react";
11-
import { waitFor } from "jest-matrix-react";
11+
import { waitFor, fireEvent } from "jest-matrix-react";
1212
import { type Room, type RoomMember, MatrixEvent } from "matrix-js-sdk/src/matrix";
1313
import { type JSX } from "react";
1414

@@ -154,6 +154,16 @@ describe("MemberListView and MemberlistHeaderView", () => {
154154
expect(root.container.querySelector(".mx_PresenceIconView_unavailable")).not.toBeNull();
155155
});
156156
});
157+
158+
it("should prevent default form submission", async () => {
159+
const { root } = rendered;
160+
const form = root.container.querySelector("form");
161+
expect(form).not.toBeNull();
162+
const submitEvent = new Event("submit", { bubbles: true, cancelable: true });
163+
const preventDefaultSpy = jest.spyOn(submitEvent, "preventDefault");
164+
fireEvent(form!, submitEvent);
165+
expect(preventDefaultSpy).toHaveBeenCalled();
166+
});
157167
});
158168

159169
describe.each([true, false])("does order members correctly (presence %s)", (enablePresence) => {

0 commit comments

Comments
 (0)