tacticalrmm/web/test/jest/jest.setup.js

53 lines
1.6 KiB
JavaScript
Executable File

// No console.log() / setTimeout
// console.log = jest.fn(() => { throw new Error('Do not use console.log() in production') })
jest.setTimeout(1000)
// jest speedup when errors are part of the game
// Error.stackTraceLimit = 0
global.Promise = require('promise')
/*
import chai from 'chai'
// Make sure chai and jasmine ".not" play nice together
// https://medium.com/@RubenOostinga/combining-chai-and-jest-matchers-d12d1ffd0303
// updated here: https://www.andrewsouthpaw.com/jest-chai/
const originalNot = Object.getOwnPropertyDescriptor(chai.Assertion.prototype, 'not').get
Object.defineProperty(chai.Assertion.prototype, 'not', {
get() {
Object.assign(this, this.assignedNot)
return originalNot.apply(this)
},
set(newNot) {
this.assignedNot = newNot
return newNot
}
})
// Combine both jest and chai matchers on expect
const originalExpect = global.expect
global.expect = (actual) => {
const originalMatchers = originalExpect(actual)
const chaiMatchers = chai.expect(actual)
// Add middleware to Chai matchers to increment Jest assertions made
const { assertionsMade } = originalExpect.getState()
Object.defineProperty(chaiMatchers, 'to', {
get() {
originalExpect.setState({ assertionsMade: assertionsMade + 1 })
return chai.expect(actual)
},
})
const combinedMatchers = Object.assign(chaiMatchers, originalMatchers)
return combinedMatchers
}
Object.keys(originalExpect).forEach(key => (global.expect[key] = originalExpect[key]))
*/
// do this to make sure we don't get multiple hits from both webpacks when running SSR
setTimeout(()=>{
// do nothing
}, 1)