@trinitymirrordigital/dragonfly-jest-config
Version:
Jest config for dragonfly projects
55 lines (48 loc) • 972 B
JavaScript
const manageMock = () => {
const mocks = new Set();
return {
add(mock) {
if (Array.isArray(mock)) {
mock.forEach((m) => {
mocks.add(m);
});
} else {
mocks.add(mock);
}
},
delete(mock) {
mock.mockRestore();
mocks.delete(mock);
},
clear() {
const mockIterator = mocks.values();
for (const mock of mockIterator) {
mock.mockClear();
}
},
clearAfter() {
afterEach(() => {
this.clear();
});
},
getAll() {
return mocks;
},
reset() {
const mockIterator = mocks.values();
for (const mock of mockIterator) {
mock.mockReset();
}
},
removeAll() {
afterAll(() => {
const mockIterator = mocks.values();
for (const mock of mockIterator) {
mock.mockRestore();
}
mocks.clear();
});
},
};
};
global.manageMock = manageMock();