I am trying to test the window functionality via jest. I have a function which appends a query param to the url and redirects the page to the other page. A rough snippet of the code is below:
var url = new URL(targetUrl);
if (typeof status !== undefined) {
// base encode status
url.searchParams.append("status", status);
window.location = url.toString();
I am new to jest and I am facing a bit of difficulty simulating the mock test for this, hence can you please help me with this. Thanks in advance.
Advertisement
Answer
I figured out a way to mock windows.location. I am attaching a code snippet which will be helpful for others who are trying to mock it.
beforeEach(() => {
delete window.location;
window.location = Object.assign(new URL("https://dickssportinggoods.com"))
});
it('mocks windows.location function', () => {
//call your function.
expect(global.window.location).toBe("https://yoururl.com/?status=SUCCESS");
});