Commit b0e26ed5 authored by Winnie Hellmann's avatar Winnie Hellmann

Add Karma-style fixture helpers to Jest

parent 9c223756
...@@ -2,8 +2,13 @@ ...@@ -2,8 +2,13 @@
env: env:
jest/globals: true jest/globals: true
plugins: plugins:
- jest - jest
settings: settings:
import/resolver: import/resolver:
jest: jest:
jestConfigFile: "jest.config.js" jestConfigFile: 'jest.config.js'
globals:
getJSONFixture: false
loadFixtures: false
preloadFixtures: false
setFixtures: false
...@@ -6,6 +6,7 @@ const JSDOMEnvironment = require('jest-environment-jsdom'); ...@@ -6,6 +6,7 @@ const JSDOMEnvironment = require('jest-environment-jsdom');
class CustomEnvironment extends JSDOMEnvironment { class CustomEnvironment extends JSDOMEnvironment {
constructor(config, context) { constructor(config, context) {
super(config, context); super(config, context);
Object.assign(context.console, { Object.assign(context.console, {
error(...args) { error(...args) {
throw new ErrorWithStack( throw new ErrorWithStack(
......
...@@ -2,6 +2,7 @@ import Vue from 'vue'; ...@@ -2,6 +2,7 @@ import Vue from 'vue';
import Translate from '~/vue_shared/translate'; import Translate from '~/vue_shared/translate';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import { initializeTestTimeout } from './helpers/timeout'; import { initializeTestTimeout } from './helpers/timeout';
import { getJSONFixture, loadHTMLFixture, setHTMLFixture } from './helpers/fixtures';
// wait for pending setTimeout()s // wait for pending setTimeout()s
afterEach(() => { afterEach(() => {
...@@ -32,3 +33,11 @@ Object.defineProperty(global.Element.prototype, 'innerText', { ...@@ -32,3 +33,11 @@ Object.defineProperty(global.Element.prototype, 'innerText', {
}, },
configurable: true, // make it so that it doesn't blow chunks on re-running tests with things like --watch configurable: true, // make it so that it doesn't blow chunks on re-running tests with things like --watch
}); });
// convenience wrapper for migration from Karma
Object.assign(global, {
loadFixtures: loadHTMLFixture,
loadJSONFixtures: getJSONFixture,
preloadFixtures() {},
setFixtures: setHTMLFixture,
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment