Fix presets.test.js

This commit is contained in:
igor-dv 2018-08-19 16:46:21 +03:00
parent 77cd59af03
commit a64cdf40ac

View File

@ -1,20 +1,14 @@
function mockPresetsFile(mockPresets) {
jest.mock('./serverRequire.js', () => () => mockPresets);
}
function mockPreset(name, mockPresetObject) {
jest.mock(name, () => mockPresetObject, { virtual: true });
}
describe('presets', () => {
it('does not throw when there is no preset file', () => {
mockPresetsFile();
const loadPresets = require.requireActual('./presets').default;
let presets;
expect(() => {
presets = loadPresets(__dirname);
presets = loadPresets();
presets.extendWebpack();
presets.extendBabel();
presets.extendPreview();
@ -25,10 +19,8 @@ describe('presets', () => {
});
it('does not throw when presets are empty', () => {
mockPresetsFile([]);
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets([]);
expect(() => {
presets.extendWebpack();
@ -39,10 +31,8 @@ describe('presets', () => {
});
it('does not throw when preset can not be loaded', () => {
mockPresetsFile(['preset-foo']);
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets(['preset-foo']);
expect(() => {
presets.extendWebpack({});
@ -53,8 +43,6 @@ describe('presets', () => {
});
it('loads and applies presets when they are declared as a string', () => {
mockPresetsFile(['preset-foo', 'preset-bar']);
const mockPresetFooExtendWebpack = jest.fn();
const mockPresetBarExtendBabel = jest.fn();
@ -67,7 +55,7 @@ describe('presets', () => {
});
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets(['preset-foo', 'preset-bar']);
expect(() => {
presets.extendWebpack();
@ -81,8 +69,6 @@ describe('presets', () => {
});
it('loads and applies presets when they are declared as an object without props', () => {
mockPresetsFile([{ name: 'preset-foo' }, { name: 'preset-bar' }]);
const mockPresetFooExtendWebpack = jest.fn();
const mockPresetBarExtendBabel = jest.fn();
@ -95,7 +81,7 @@ describe('presets', () => {
});
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets([{ name: 'preset-foo' }, { name: 'preset-bar' }]);
expect(() => {
presets.extendWebpack();
@ -109,11 +95,6 @@ describe('presets', () => {
});
it('loads and applies presets when they are declared as an object with props', () => {
mockPresetsFile([
{ name: 'preset-foo', options: { foo: 1 } },
{ name: 'preset-bar', options: { bar: 'a' } },
]);
const mockPresetFooExtendWebpack = jest.fn();
const mockPresetBarExtendBabel = jest.fn();
@ -126,7 +107,10 @@ describe('presets', () => {
});
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets([
{ name: 'preset-foo', options: { foo: 1 } },
{ name: 'preset-bar', options: { bar: 'a' } },
]);
expect(() => {
presets.extendWebpack({});
@ -140,8 +124,6 @@ describe('presets', () => {
});
it('loads and applies presets when they are declared as a string and as an object', () => {
mockPresetsFile(['preset-foo', { name: 'preset-bar', options: { bar: 'a' } }]);
const mockPresetFooExtendWebpack = jest.fn();
const mockPresetBarExtendBabel = jest.fn();
@ -154,7 +136,7 @@ describe('presets', () => {
});
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets(['preset-foo', { name: 'preset-bar', options: { bar: 'a' } }]);
expect(() => {
presets.extendWebpack({});
@ -168,8 +150,6 @@ describe('presets', () => {
});
it('applies presets in chain', () => {
mockPresetsFile(['preset-foo', { name: 'preset-bar', options: { bar: 'a' } }]);
const mockPresetFooExtendWebpack = jest.fn(() => ({}));
const mockPresetBarExtendWebpack = jest.fn(() => ({}));
@ -182,7 +162,7 @@ describe('presets', () => {
});
const loadPresets = require.requireActual('./presets').default;
const presets = loadPresets(__dirname);
const presets = loadPresets(['preset-foo', { name: 'preset-bar', options: { bar: 'a' } }]);
expect(() => {
presets.extendWebpack({});