0.2.0 • Published 5 years ago
@mock/global v0.2.0
@mock/global 
Mock global scope and global
object.
Install
$ yarn add --dev @mock/global
Usage
type TMocks = {
[key: string]: any
}
const mockGlobal: (file: string, mocks: TMocks) => () => void
// wait-for-5-min.ts
export const waitFor5Min = (): Promise<void> => new Promise((resolve) => {
setTimeout(resolve, 5 * 60 * 1000)
})
import test from 'blue-tape'
import { mockGlobal } from '@mock/global'
test('waitFor30Sec', (t) => {
const unmockGlobal = mockGlobal('./wait-for-30-sec', {
setTimeout: (callback: () => void, delay: number) => {
t.equal(
delay,
5 * 60 * 1000,
'should wait for 5 min'
)
callback()
}
})
const { waitFor5Min } = await import('./wait-for-30-sec')
await waitFor5Min()
unmockGlobal()
})