diff --git a/test/components/structures/MatrixChat-test.tsx b/test/components/structures/MatrixChat-test.tsx index d2d4178d1f..c76b17dccc 100644 --- a/test/components/structures/MatrixChat-test.tsx +++ b/test/components/structures/MatrixChat-test.tsx @@ -156,7 +156,7 @@ describe("", () => { realQueryParams: {}, }; const getComponent = (props: Partial> = {}) => - render(); + render(, { legacyRoot: true }); // make test results readable filterConsole( @@ -1380,7 +1380,6 @@ describe("", () => { it("while we are checking the sync store", async () => { const rendered = getComponent({}); - await flushPromises(); expect(rendered.getByTestId("spinner")).toBeInTheDocument(); // now a third session starts diff --git a/test/components/structures/auth/ForgotPassword-test.tsx b/test/components/structures/auth/ForgotPassword-test.tsx index b43e6bea6a..bea4b10708 100644 --- a/test/components/structures/auth/ForgotPassword-test.tsx +++ b/test/components/structures/auth/ForgotPassword-test.tsx @@ -102,6 +102,7 @@ describe("", () => { beforeEach(() => { renderResult = render( , + { legacyRoot: true }, ); }); diff --git a/test/components/views/dialogs/__snapshots__/LogoutDialog-test.tsx.snap b/test/components/views/dialogs/__snapshots__/LogoutDialog-test.tsx.snap index c5db254cb2..e5a4ec5877 100644 --- a/test/components/views/dialogs/__snapshots__/LogoutDialog-test.tsx.snap +++ b/test/components/views/dialogs/__snapshots__/LogoutDialog-test.tsx.snap @@ -73,6 +73,7 @@ exports[`LogoutDialog Prompts user to connect backup if there is a backup on the
", () => { it("renders", async () => { - const { container } = render(console.log("Hello, World!");); + const { container } = render(console.log("Hello, World!");, { + legacyRoot: true, + }); await waitFor(() => expect(container.querySelector(".language-arcade")).toBeTruthy()); expect(container).toMatchSnapshot(); }); @@ -31,7 +33,9 @@ describe("", () => { it.each(["json", "javascript", "css"])("uses the provided language", async (lang) => { const mock = jest.spyOn(hljs, "highlight"); - const { container } = render(// Hello, World); + const { container } = render(// Hello, World, { + legacyRoot: true, + }); await waitFor(() => expect(container.querySelector(`.language-${lang}`)).toBeTruthy()); const [_lang, opts] = mock.mock.lastCall!; diff --git a/test/components/views/polls/pollHistory/PollHistory-test.tsx b/test/components/views/polls/pollHistory/PollHistory-test.tsx index 29c1b5d7cf..8a06e48eec 100644 --- a/test/components/views/polls/pollHistory/PollHistory-test.tsx +++ b/test/components/views/polls/pollHistory/PollHistory-test.tsx @@ -70,6 +70,7 @@ describe("", () => { wrapper: ({ children }) => ( {children} ), + legacyRoot: true, }); beforeAll(() => { diff --git a/test/components/views/right_panel/UserInfo-test.tsx b/test/components/views/right_panel/UserInfo-test.tsx index 1e14038ba7..3d1b542435 100644 --- a/test/components/views/right_panel/UserInfo-test.tsx +++ b/test/components/views/right_panel/UserInfo-test.tsx @@ -206,6 +206,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -324,6 +325,9 @@ describe("", () => { , + { + legacyRoot: true, + }, ); screen.getByRole("button", { name: "Send message" }); @@ -339,6 +343,9 @@ describe("", () => { , + { + legacyRoot: true, + }, ); expect(screen.queryByRole("button", { name: "Message" })).toBeNull(); @@ -689,6 +696,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -728,6 +736,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -871,6 +880,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -1097,6 +1107,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -1156,6 +1167,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -1263,6 +1275,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; @@ -1395,6 +1408,7 @@ describe("", () => { return render(, { wrapper: Wrapper, + legacyRoot: true, }); }; diff --git a/test/components/views/rooms/MemberList-test.tsx b/test/components/views/rooms/MemberList-test.tsx index 2476cc108c..06edd79f00 100644 --- a/test/components/views/rooms/MemberList-test.tsx +++ b/test/components/views/rooms/MemberList-test.tsx @@ -16,7 +16,15 @@ limitations under the License. */ import React from "react"; -import { act, fireEvent, render, RenderResult, screen } from "@testing-library/react"; +import { + act, + fireEvent, + render, + RenderResult, + screen, + waitFor, + waitForElementToBeRemoved, +} from "@testing-library/react"; import { Room, MatrixClient, RoomState, RoomMember, User, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import { mocked, MockedObject } from "jest-mock"; @@ -374,7 +382,7 @@ describe("MemberList", () => { const renderComponent = () => { const context = new TestSdkContext(); context.client = client; - render( + return render( { roomId={room.roomId} /> , + { + // legacyRoot: true, + }, ); }; @@ -409,7 +420,10 @@ describe("MemberList", () => { await flushPromises(); // button rendered but disabled - expect(screen.getByText("Invite to this room")).toHaveAttribute("aria-disabled", "true"); + expect(screen.getByRole("button", { name: "Invite to this room" })).toHaveAttribute( + "aria-disabled", + "true", + ); }); it("renders enabled invite button when current user is a member and has rights to invite", async () => { @@ -427,10 +441,17 @@ describe("MemberList", () => { jest.spyOn(room, "getMyMembership").mockReturnValue(KnownMembership.Join); jest.spyOn(room, "canInvite").mockReturnValue(true); - renderComponent(); - await flushPromises(); + const { getByRole, getAllByRole } = renderComponent(); + await waitForElementToBeRemoved(() => screen.queryAllByRole("progressbar")); - fireEvent.click(screen.getByText("Invite to this room")); + await waitFor(() => + expect(getAllByRole("button", { name: "Invite to this room" })).not.toHaveAttribute( + "aria-disabled", + "true", + ), + ); + + fireEvent.click(getByRole("button", { name: "Invite to this room" })); expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: "view_invite", diff --git a/test/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx b/test/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx index 0420a12217..a9ddf367e3 100644 --- a/test/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx +++ b/test/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx @@ -85,6 +85,9 @@ describe("SendWysiwygComposer", () => { /> , + { + legacyRoot: true, + }, ); }; diff --git a/test/components/views/settings/devices/LoginWithQR-test.tsx b/test/components/views/settings/devices/LoginWithQR-test.tsx index 6e7636d0cf..7084dd0923 100644 --- a/test/components/views/settings/devices/LoginWithQR-test.tsx +++ b/test/components/views/settings/devices/LoginWithQR-test.tsx @@ -118,7 +118,9 @@ describe("", () => { test("no homeserver support", async () => { // simulate no support jest.spyOn(MSC3906Rendezvous.prototype, "generateCode").mockRejectedValue(""); - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); await waitFor(() => expect(mockedFlow).toHaveBeenLastCalledWith({ phase: Phase.Error, @@ -132,7 +134,9 @@ describe("", () => { test("failed to connect", async () => { jest.spyOn(MSC3906Rendezvous.prototype, "startAfterShowingCode").mockRejectedValue(""); - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); await waitFor(() => expect(mockedFlow).toHaveBeenLastCalledWith({ phase: Phase.Error, @@ -148,7 +152,9 @@ describe("", () => { test("render QR then back", async () => { const onFinished = jest.fn(); jest.spyOn(MSC3906Rendezvous.prototype, "startAfterShowingCode").mockReturnValue(unresolvedPromise()); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -176,7 +182,9 @@ describe("", () => { test("render QR then decline", async () => { const onFinished = jest.fn(); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -206,7 +214,9 @@ describe("", () => { (client as any).crypto = undefined; (client as any).getCrypto = () => undefined; const onFinished = jest.fn(); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -246,7 +256,9 @@ describe("", () => { jest.spyOn(MSC3906Rendezvous.prototype, "verifyNewDeviceOnExistingDevice").mockImplementation(() => unresolvedPromise(), ); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -283,7 +295,9 @@ describe("", () => { test("approve + verify", async () => { const onFinished = jest.fn(); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -313,7 +327,9 @@ describe("", () => { test("approve - rate limited", async () => { mocked(client.requestLoginToken).mockRejectedValue(new HTTPError("rate limit reached", 429)); const onFinished = jest.fn(); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); const rendezvous = mocked(MSC3906Rendezvous).mock.instances[0]; await waitFor(() => @@ -357,7 +373,9 @@ describe("", () => { test("render QR then back", async () => { const onFinished = jest.fn(); jest.spyOn(MSC4108SignInWithQR.prototype, "negotiateProtocols").mockReturnValue(unresolvedPromise()); - render(getComponent({ client, onFinished })); + render(getComponent({ client, onFinished }), { + legacyRoot: true, + }); await waitFor(() => expect(mockedFlow).toHaveBeenLastCalledWith({ @@ -378,7 +396,9 @@ describe("", () => { }); test("failed to connect", async () => { - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); jest.spyOn(MSC4108SignInWithQR.prototype, "negotiateProtocols").mockResolvedValue({}); jest.spyOn(MSC4108SignInWithQR.prototype, "deviceAuthorizationGrant").mockRejectedValue( new HTTPError("Internal Server Error", 500), @@ -390,7 +410,9 @@ describe("", () => { test("reciprocates login", async () => { jest.spyOn(global.window, "open"); - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); jest.spyOn(MSC4108SignInWithQR.prototype, "negotiateProtocols").mockResolvedValue({}); jest.spyOn(MSC4108SignInWithQR.prototype, "deviceAuthorizationGrant").mockResolvedValue({ verificationUri: "mock-verification-uri", @@ -416,7 +438,9 @@ describe("", () => { }); test("handles errors during reciprocation", async () => { - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); jest.spyOn(MSC4108SignInWithQR.prototype, "negotiateProtocols").mockResolvedValue({}); jest.spyOn(MSC4108SignInWithQR.prototype, "deviceAuthorizationGrant").mockResolvedValue({}); await waitFor(() => @@ -443,7 +467,9 @@ describe("", () => { }); test("handles user cancelling during reciprocation", async () => { - render(getComponent({ client })); + render(getComponent({ client }), { + legacyRoot: true, + }); jest.spyOn(MSC4108SignInWithQR.prototype, "negotiateProtocols").mockResolvedValue({}); jest.spyOn(MSC4108SignInWithQR.prototype, "deviceAuthorizationGrant").mockResolvedValue({}); jest.spyOn(MSC4108SignInWithQR.prototype, "deviceAuthorizationGrant").mockResolvedValue({}); diff --git a/test/toasts/UnverifiedSessionToast-test.tsx b/test/toasts/UnverifiedSessionToast-test.tsx index 1c282f9693..9419715d07 100644 --- a/test/toasts/UnverifiedSessionToast-test.tsx +++ b/test/toasts/UnverifiedSessionToast-test.tsx @@ -65,7 +65,7 @@ describe("UnverifiedSessionToast", () => { }); beforeEach(() => { - renderResult = render(); + renderResult = render(, { legacyRoot: true }); }); describe("when rendering the toast", () => {