Skip to content
Advertisement

Testing window.location in jest

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");
  });
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement