66 lines
2.0 KiB
TypeScript
66 lines
2.0 KiB
TypeScript
|
|
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;
|
||
|
|
});
|
||
|
|
});
|