PromucFlow_constructor/app/client/src/constants/routes.test.ts

66 lines
2.0 KiB
TypeScript
Raw Normal View History

import { BUILDER_PAGE_URL, getApplicationViewerPageURL } from "./routes";
describe("BUILDER_PAGE_URL", () => {
let location: typeof window.location;
beforeAll(() => {
location = window.location;
delete (window as any).location;
});
it("persists embed query param", () => {
(window as any).location = new URL("https://example.com?embed=true");
const pageURL = BUILDER_PAGE_URL({
applicationId: ":applicationId",
pageId: ":pageId",
});
const pageURLObject = new URL(`${window.origin}${pageURL}`);
expect(pageURLObject.searchParams.get("embed")).toBe("true");
});
it("does not append embed query param when it does not exist", () => {
(window as any).location = new URL("https://example.com");
const pageURL = BUILDER_PAGE_URL({
applicationId: ":applicationId",
pageId: ":pageId",
});
const pageURLObject = new URL(`${window.origin}${pageURL}`);
expect(pageURLObject.searchParams.get("embed")).toBe(null);
});
afterAll(() => {
window.location = location;
jest.clearAllMocks();
});
});
describe("getApplicationViewerPageURL", () => {
let location: typeof window.location;
beforeAll(() => {
location = window.location;
});
it("persists embed query param", () => {
(window as any).location = new URL("https://example.com?embed=true");
const pageURL = getApplicationViewerPageURL({
applicationId: ":applicationId",
pageId: ":pageId",
});
const pageURLObject = new URL(`${window.origin}${pageURL}`);
expect(pageURLObject.searchParams.get("embed")).toBe("true");
});
it("does not append embed query param when it does not exist", () => {
(window as any).location = new URL("https://example.com");
const pageURL = getApplicationViewerPageURL({
applicationId: ":applicationId",
pageId: ":pageId",
});
const pageURLObject = new URL(`${window.origin}${pageURL}`);
expect(pageURLObject.searchParams.get("embed")).toBe(null);
});
afterAll(() => {
window.location = location;
});
});