BuckleScript bindings for jest-date-mock. Use it to mock Js.Date.t
when using Jest.
yarn add bs-jest-date-mock
Then add bs-jest-date-mock
as a dependency to bsconfig.json
:
"bs-dependencies": [
+ "bs-jest-date-mock"
]
And add jest-date-mock
to Jest setup files in package.json
(you will need to add the "jest"
-part to package.json
if you don't have it already):
"jest": {
"setupFiles": [
+ "jest-date-mock"
]
}
There is also other ways, check out the setup sections in jest-date-mock.
open BsJestDateMock
advanceTo(Js.Date.makeWithYMD(~year=2010.0, ~month=5.0, ~date=27.0, ()));
Js.log(Js.Date.make() |> Js.Date.toUTCString);
// => Sat, 26 Jun 2010 22:00:00 GMT
advanceBy(3 * 60 * 1000); // advanceBy 3 minutes (given in milliseconds)
Js.log(Js.Date.make() |> Js.Date.toUTCString);
// => Sat, 26 Jun 2010 22:03:00 GMT
clear(); // shut down mock system, Js.Date should now be as before
Js.log(Js.Date.make() |> Js.Date.toUTCString);
// => Sat, 06 Jul 2019 07:01:41 GMT
976: syntax error, consider adding a `;' before
yarn.lock
is updated.There is some tips in the post "Mocking/stubbing the current Date in Jest tests" by Hugo Di Francesco.