import { describe, beforeEach, it, expect, vi, afterEach } from "vitest"; import configHandler from "../../config"; import canPatchOutPssh from "../can_patch_out_pssh"; import EnvDetector, { mockEnvironment, resetEnvironment } from "../env_detector"; describe("compat - canPatchOutPssh", () => { beforeEach(() => { vi.resetModules(); }); afterEach(() => { vi.resetAllMocks(); resetEnvironment(); }); it("should return true if we are not on the DSTV Streama MDP 1001s STB", () => { mockEnvironment(EnvDetector.BROWSERS.Other, EnvDetector.DEVICES.Tizen, false); expect(canPatchOutPssh()).toBe(true); }); it("should return false if we force it through the config", () => { const oldConfig = configHandler.getCurrent(); vi.spyOn(configHandler, "getCurrent").mockImplementation(() => { return { ...oldConfig, PREVENT_PSSH_PATCHING: true, }; }); mockEnvironment(EnvDetector.BROWSERS.Other, EnvDetector.DEVICES.Tizen, false); expect(canPatchOutPssh()).toBe(false); }); it("should return false if we are on the DSTV Streama MDP 1001s STB", () => { mockEnvironment( EnvDetector.BROWSERS.Other, EnvDetector.DEVICES.StreamaMdp1001S, false, ); expect(canPatchOutPssh()).toBe(false); }); });