From 2c30f48c38e1b9fb0ee7d0ade09814c011abff1f Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 3 Jul 2024 17:34:05 +0100 Subject: [PATCH] Add test --- .../user/PreferencesUserSettingsTab-test.tsx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/test/components/views/settings/tabs/user/PreferencesUserSettingsTab-test.tsx b/test/components/views/settings/tabs/user/PreferencesUserSettingsTab-test.tsx index 82abc8fed6..ee0408528b 100644 --- a/test/components/views/settings/tabs/user/PreferencesUserSettingsTab-test.tsx +++ b/test/components/views/settings/tabs/user/PreferencesUserSettingsTab-test.tsx @@ -15,7 +15,8 @@ limitations under the License. */ import React from "react"; -import { fireEvent, render, RenderResult, waitFor } from "@testing-library/react"; +import { fireEvent, render, RenderResult, screen, waitFor } from "@testing-library/react"; +import userEvent from "@testing-library/user-event"; import PreferencesUserSettingsTab from "../../../../../../src/components/views/settings/tabs/user/PreferencesUserSettingsTab"; import { MatrixClientPeg } from "../../../../../../src/MatrixClientPeg"; @@ -23,6 +24,7 @@ import { mockPlatformPeg, stubClient } from "../../../../../test-utils"; import SettingsStore from "../../../../../../src/settings/SettingsStore"; import { SettingLevel } from "../../../../../../src/settings/SettingLevel"; import MatrixClientBackedController from "../../../../../../src/settings/controllers/MatrixClientBackedController"; +import PlatformPeg from "../../../../../../src/PlatformPeg"; describe("PreferencesUserSettingsTab", () => { beforeEach(() => { @@ -38,6 +40,21 @@ describe("PreferencesUserSettingsTab", () => { expect(asFragment()).toMatchSnapshot(); }); + it("should reload when changing language", async () => { + const reloadStub = jest.fn(); + PlatformPeg.get()!.reload = reloadStub; + + renderTab(); + const languageDropdown = await screen.findByRole("button", { name: "Language Dropdown" }); + expect(languageDropdown).toBeInTheDocument(); + + await userEvent.click(languageDropdown); + + const germanOption = await screen.findByText("Deutsch"); + await userEvent.click(germanOption); + expect(reloadStub).toHaveBeenCalled(); + }); + describe("send read receipts", () => { beforeEach(() => { stubClient();