NWJS_Hour_Tracking/tests/unit/setup.js

67 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-09-15 22:49:40 -06:00
import Vue from 'vue';
const { getComputedStyle } = window;
Vue.config.productionTip = false;
// Prevents console log message to install Vue DevTools
Vue.config.devtools = false;
// Monkeypatch JSDOM missing transition styles + vue-test-utils not properly stubbing transitions
// in globally included libs (VeeValidate in our case)
// https://github.com/vuejs/vue-test-utils/issues/839#issuecomment-410474714
window.getComputedStyle = function getComputedStyleStub (el) {
return {
...getComputedStyle(el),
transitionDelay: '',
transitionDuration: '',
animationDelay: '',
animationDuration: ''
};
};
global.beforeEach(() => {
window.process = {
env: {
NODE_ENV: 'development'
},
versions: {
2019-10-29 10:25:15 -06:00
chromium: '78.0.3904.70',
nw: '0.42.0',
2019-09-15 22:49:40 -06:00
'nw-flavor': 'sdk',
2019-10-29 10:25:15 -06:00
node: '12.12.0'
2019-09-15 22:49:40 -06:00
}
};
window.nw = {
2019-10-29 10:27:18 -06:00
require: jest.fn((module) => {
if (module === 'fs') {
return {
readdirSync: jest.fn(() => {
return ['example-file-1.ext', 'example-file-2.ext'];
})
};
}
}),
2019-09-15 22:49:40 -06:00
Shell: {
openExternal: jest.fn()
},
Window: {
get: function () {
return {
showDevTools: jest.fn(),
closeDevTools: jest.fn()
};
}
}
};
});
global.afterEach(() => {
window.nw.Window.get().showDevTools.mockClear();
});
// Jest's setTimeout defaults to 5 seconds.
// Bump the timeout to 60 seconds.
jest.setTimeout(60 * 1000);