I struggled with this for hours/days and only this worked for me:
1) In your test:
Date.now = jest.fn(() => new Date(Date.UTC(2017, 7, 9, 8)).valueOf())
2) Then change the TZ env var before running your tests.
So the script in my package.json:
-
(Mac & Linux only)
"test": "TZ=America/New_York react-scripts test --env=jsdom", -
(Windows)
"test": "set TZ=America/New_York && react-scripts test --env=jsdom",