Files
cypress/packages/runner-shared/test/helper.js
T
Lachlan Miller 69d316e428 feat(app): decouple event manager from driver (#18695)
* change event manager to be a class

* update method

* attach event manager to window for cypress-in-cypress

* fix CT tests

* do not use fake event manager anymore

* remove cypress import from event manager

* pass in cypress as arg

* move regenerator runtime

* move async runtime

* include regenerator-runtime in runner unit tests

* fix unit tests

* inject studio

* attach event manager to window for unified app

* move event manager to app

* move event manager entirely to app, delete runner-shared copy

* improve tests

* add missing arg

* types

* remove unused optimization
2021-11-03 11:28:51 +10:00

49 lines
987 B
JavaScript

import { returnMockRequire, register } from '@packages/web-config/node-jsdom-setup'
import 'regenerator-runtime/runtime'
import sinon from 'sinon'
const driverMock = {}
register({
enzyme: require('enzyme'),
EnzymeAdapter: require('enzyme-adapter-react-16'),
chaiEnzyme: require('chai-enzyme'),
requireOverride (depPath) {
if (depPath === '@packages/driver') {
return driverMock
}
// TODO: refactor w/ regex
if (depPath.includes('.gif')) {
return ''
}
},
})
returnMockRequire('@packages/socket/lib/browser', {
client () {
return { emit: () => {}, on: () => {} }
},
})
const _useFakeTimers = sinon.useFakeTimers
let timers = []
sinon.useFakeTimers = function (...args) {
const ret = _useFakeTimers.apply(this, args)
timers.push(ret)
}
beforeEach(() => {
driverMock.$ = sinon.stub().throws('$ called without being stubbed')
})
afterEach(() => {
timers.forEach((clock) => {
return clock.restore()
})
timers = []
})