Files
ThreadNet-Web/test/unit-tests/components/views/settings/tabs/user/LabsUserSettingsTab-test.tsx
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.9 KiB
TypeScript
Raw Normal View History

2022-10-11 11:10:55 +02:00
/*
2024-09-09 14:57:16 +01:00
Copyright 2024 New Vector Ltd.
2022-10-11 11:10:55 +02:00
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
2024-09-09 14:57:16 +01:00
Please see LICENSE files in the repository root for full details.
2022-10-11 11:10:55 +02:00
*/
import React from "react";
import { render, screen } from "jest-matrix-react";
2022-10-11 11:10:55 +02:00
2024-10-15 14:57:26 +01:00
import LabsUserSettingsTab from "../../../../../../../src/components/views/settings/tabs/user/LabsUserSettingsTab";
import SettingsStore from "../../../../../../../src/settings/SettingsStore";
import SdkConfig from "../../../../../../../src/SdkConfig";
2022-10-11 11:10:55 +02:00
describe("<LabsUserSettingsTab />", () => {
const getComponent = () => <LabsUserSettingsTab />;
2022-10-11 11:10:55 +02:00
const settingsValueSpy = jest.spyOn(SettingsStore, "getValue");
beforeEach(() => {
jest.clearAllMocks();
settingsValueSpy.mockReturnValue(false);
2024-01-18 11:18:55 +00:00
SdkConfig.reset();
SdkConfig.add({ brand: "BrandedClient" });
localStorage.clear();
2022-10-11 11:10:55 +02:00
});
it("renders settings marked as beta as beta cards", () => {
render(getComponent());
expect(screen.getByText("Upcoming features").parentElement!).toMatchSnapshot();
2022-10-11 11:10:55 +02:00
});
it("does not render non-beta labs settings when disabled in config", () => {
2024-01-18 11:18:55 +00:00
const sdkConfigSpy = jest.spyOn(SdkConfig, "get");
render(getComponent());
2022-10-11 11:10:55 +02:00
expect(sdkConfigSpy).toHaveBeenCalledWith("show_labs_settings");
// only section is beta section
expect(screen.queryByText("Early previews")).not.toBeInTheDocument();
2022-10-11 11:10:55 +02:00
});
it("renders non-beta labs settings when enabled in config", () => {
// enable labs
2024-01-18 11:18:55 +00:00
SdkConfig.add({ show_labs_settings: true });
2022-10-11 11:10:55 +02:00
const { container } = render(getComponent());
// non-beta labs section
expect(screen.getByText("Early previews")).toBeInTheDocument();
const labsSections = container.getElementsByClassName("mx_SettingsSubsection");
expect(labsSections).toHaveLength(10);
2022-10-11 11:10:55 +02:00
});
});