Skip to content

Commit fa68773

Browse files
committed
Add worker mock
1 parent a2f8c82 commit fa68773

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/App.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { render, fireEvent, act, cleanup } from '@testing-library/react';
44
import { getSecondsCountDownExpect } from './utils/test-utils/getSecondsCountDownExpect';
55
import { makeAdvanceTime } from './utils/test-utils/makeAdvanceTime';
66
import { makeAdvanceDateNowBy } from './utils/test-utils/makeAdvanceDateNowBy';
7+
import { MockWorker } from './__mocks__/Worker';
8+
79
jest.useFakeTimers();
810
const startDate = 1587574443099;
911
const play = jest.fn();
@@ -13,10 +15,12 @@ describe('App', () => {
1315
let play;
1416
afterEach(() => {
1517
cleanup();
18+
window.Worker = undefined;
1619
});
1720
beforeEach(() => {
1821
play = jest.fn();
1922
HTMLMediaElement.prototype.play = play;
23+
window.Worker = MockWorker;
2024
});
2125
it('should run intervals correctly', () => {
2226
const { getByTestId } = render(<App />);

src/__mocks__/Worker.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export class MockWorker {
2+
interval = null;
3+
addEventListener = jest.fn((event, callback) => {
4+
this.interval = setInterval(callback, 50);
5+
});
6+
terminate = jest.fn(() => {
7+
clearInterval(this.interval);
8+
});
9+
}

0 commit comments

Comments
 (0)