Stubbing window functions in Jest

Yangshun Tay picture Yangshun Tay · Jan 19, 2017 · Viewed 18.4k times · Source

In my code, I trigger a callback upon "OK" click of a window.confirm prompt, and I want to test that the callback is triggered.

In sinon, I can stub the window.confirm function via:

const confirmStub = sinon.stub(window, 'confirm');
confirmStub.returns(true);

Is there a way I can achieve this stubbing in Jest?

Answer

Andreas Köberle picture Andreas Köberle · Jan 19, 2017

In jest you can just overwrite them using global.

global.confirm = () => true

As in jest every test file run in its own process you don't have to reset the settings.