/* eslint-disable @typescript-eslint/camelcase */ import { LocationUtils } from "./location-utils"; describe("get url search params", () => { beforeEach(() => { window.history.pushState({}, "", ""); }); test("should return empty object on empty location", () => { expect(LocationUtils.getURLSearchParams()).toEqual({}); }); test("should return correct params", () => { window.history.pushState({}, "", "/?rapidView=4&projectKey=BS&selectedIssue=BS-2037&quickFilter=31"); expect(LocationUtils.getURLSearchParams()).toEqual({ rapidView: "4", projectKey: "BS", selectedIssue: "BS-2037", quickFilter: "31", }); window.history.pushState( {}, "", "?utm_source=Biggy&utm_medium=email&utm_campaign=20190318." + "NewProducts_0&utm_content=1693670&adjust_t=og6het&adjust_campaign=20190318.NewProducts_0" + "&adjust_content=1693670", ); expect(LocationUtils.getURLSearchParams()).toEqual({ utm_source: "Biggy", utm_medium: "email", utm_campaign: "20190318.NewProducts_0", utm_content: "1693670", adjust_t: "og6het", adjust_campaign: "20190318.NewProducts_0", adjust_content: "1693670", }); }); test("should correctly decode query string values", () => { window.history.pushState( {}, "", "?adjust_deeplink=evinoapp%3A%2F%2Fproduct/1693670%3Futm_source%3DBiggy%26utm_medium%3D" + "email%26utm_campaign%3D20190318.NewProducts_0%26utm_content%3D1693670", ); expect(LocationUtils.getURLSearchParams()).toEqual({ adjust_deeplink: "evinoapp://product/1693670?utm_source=Biggy&utm_medium=" + "email&utm_campaign=20190318.NewProducts_0&utm_content=1693670", }); }); });