Files
ThreadNet-Web/apps/web/src/utils/Feedback.test.ts
T
Michael TelatynskiandGitHub 0c61944ffd Move more tests over to vitest (#34249)
* Move more tests over to vitest

* Add exception for test_setting
2026-07-15 08:48:51 +00:00

62 lines
2.0 KiB
TypeScript

/*
Copyright 2024 New Vector Ltd.
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
Please see LICENSE files in the repository root for full details.
*/
import { vi, describe, it, expect, afterEach } from "vitest";
import SdkConfig from "../SdkConfig";
import { shouldShowFeedback } from "./Feedback";
import SettingsStore from "../settings/SettingsStore";
import { UIFeature } from "../settings/UIFeature";
import { BugReportEndpointURLLocal } from "../IConfigOptions";
const realGetValue = SettingsStore.getValue;
describe("shouldShowFeedback", () => {
afterEach(() => {
SdkConfig.reset();
vi.restoreAllMocks();
});
it("should return false if bug_report_endpoint_url is falsey", () => {
SdkConfig.put({
bug_report_endpoint_url: undefined,
});
expect(shouldShowFeedback()).toEqual(false);
});
it("should return false if bug_report_endpoint_url is 'test'", () => {
SdkConfig.put({
bug_report_endpoint_url: BugReportEndpointURLLocal,
});
expect(shouldShowFeedback()).toEqual(false);
});
it("should return false if UIFeature.Feedback is disabled", () => {
vi.spyOn(SettingsStore, "getValue").mockImplementation((key, ...params) => {
if (key === UIFeature.Feedback) {
return false;
}
return realGetValue(key, ...params);
});
expect(shouldShowFeedback()).toEqual(false);
});
it("should return true if bug_report_endpoint_url is set and UIFeature.Feedback is true", () => {
SdkConfig.put({
bug_report_endpoint_url: "https://rageshake.server",
});
vi.spyOn(SettingsStore, "getValue").mockImplementation((key, ...params) => {
if (key === UIFeature.Feedback) {
return true;
}
return realGetValue(key, ...params);
});
expect(shouldShowFeedback()).toEqual(true);
});
});