X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3d5a1c29aad86476f2e789e1e54cabf8b4605aa2..6fa7f9fbcf20aa866eed0618bd09e1ce2e109baa:/services/workbench2/src/common/redirect-to.test.ts?ds=sidebyside diff --git a/services/workbench2/src/common/redirect-to.test.ts b/services/workbench2/src/common/redirect-to.test.ts index adb52f4b0c..1e7bf3a100 100644 --- a/services/workbench2/src/common/redirect-to.test.ts +++ b/services/workbench2/src/common/redirect-to.test.ts @@ -5,7 +5,9 @@ import { storeRedirects, handleRedirects } from './redirect-to'; describe('redirect-to', () => { - const { location } = window; + const mockWindow: { location?: any, localStorage?: any} = window + + const { location } = mockWindow; const config: any = { keepWebServiceUrl: 'http://localhost', keepWebServiceInlineUrl: 'http://localhost-inline' @@ -28,17 +30,17 @@ describe('redirect-to', () => { }; afterAll((): void => { - window.location = location; + mockWindow.location = location; }); describe('storeRedirects', () => { beforeEach(() => { - delete window.location; - window.location = { + delete mockWindow.location; + mockWindow.location = { ...locationTemplate, href: `${location.href}?redirectToDownload=${redirectTo}`, } as any; - Object.defineProperty(window, 'localStorage', { + Object.defineProperty(mockWindow, 'localStorage', { value: { setItem: jest.fn(), }, @@ -51,18 +53,18 @@ describe('redirect-to', () => { storeRedirects(); // then - expect(window.localStorage.setItem).toHaveBeenCalledWith('redirectToDownload', decodeURIComponent(redirectTo)); + expect(mockWindow.localStorage.setItem).toHaveBeenCalledWith('redirectToDownload', decodeURIComponent(redirectTo)); }); }); describe('handleRedirects', () => { beforeEach(() => { - delete window.location; - window.location = { + delete mockWindow.location; + mockWindow.location = { ...locationTemplate, href: `${location.href}?redirectToDownload=${redirectTo}`, } as any;; - Object.defineProperty(window, 'localStorage', { + Object.defineProperty(mockWindow, 'localStorage', { value: { getItem: () => redirectTo, removeItem: jest.fn(), @@ -76,7 +78,7 @@ describe('redirect-to', () => { handleRedirects("abcxyz", config); // then - expect(window.location.href).toBe(`${config.keepWebServiceUrl}${redirectTo}?api_token=abcxyz`); + expect(mockWindow.location.href).toBe(`${config.keepWebServiceUrl}${redirectTo}?api_token=abcxyz`); }); }); });