All files / src/utils mockWindow.js

100% Statements 5/5
100% Branches 2/2
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    17x           17x     33x   33x 33x    
export function mockWindow(win = window, href = win.location.href) {
    
    const locationMocks = {
        assign: jest.fn().mockImplementation(replaceLocation),
        reload: jest.fn(),
        replace: jest.fn().mockImplementation(replaceLocation),
    };
 
    return replaceLocation(href);
 
    function replaceLocation(url) {
        delete win.location;
        // tslint:disable-next-line:no-any
        win.location = Object.assign(new URL(url), locationMocks);
        return win;
    }
}