diff options
author | Martin Hanzel <mhanzel@gitlab.com> | 2019-07-16 16:03:41 +0200 |
---|---|---|
committer | Martin Hanzel <mhanzel@gitlab.com> | 2019-07-16 16:24:21 +0200 |
commit | 73e2e4489c988a442844e8ffda6ac79f5d706ba7 (patch) | |
tree | 233183ddfab84e5bb97943cd85c7d64c71dd8dbf | |
parent | e5525fb74d8864e39c8894c7e3c6880fb88156e7 (diff) | |
download | gitlab-ce-mh/net-mocks-2.tar.gz |
Lazy-load auto-injected mocksmh/net-mocks-2
-rw-r--r-- | spec/frontend/mocks/mocks_helper.js | 4 | ||||
-rw-r--r-- | spec/frontend/mocks/mocks_helper_spec.js | 3 | ||||
-rw-r--r-- | spec/frontend/mocks/node/jquery.js | 2 |
3 files changed, 4 insertions, 5 deletions
diff --git a/spec/frontend/mocks/mocks_helper.js b/spec/frontend/mocks/mocks_helper.js index 4fea7b31e44..21c032cd3c9 100644 --- a/spec/frontend/mocks/mocks_helper.js +++ b/spec/frontend/mocks/mocks_helper.js @@ -27,8 +27,8 @@ const getMockFiles = root => readdir.sync(root, { deep: MAX_DEPTH, filter: mockF // Function that performs setting a mock. This has to be overridden by the unit test, because // jest.setMock can't be overwritten across files. // Use require() because jest.setMock expects the CommonJS exports object -// eslint-disable-next-line import/no-dynamic-require, global-require -const defaultSetMock = (source, mock) => jest.setMock(source, require(mock)); +const defaultSetMock = (srcPath, mockPath) => + jest.mock(srcPath, () => jest.requireActual(mockPath)); // eslint-disable-next-line import/prefer-default-export export const setupManualMocks = function setupManualMocks(setMock = defaultSetMock) { diff --git a/spec/frontend/mocks/mocks_helper_spec.js b/spec/frontend/mocks/mocks_helper_spec.js index 8fb78dc4ddc..34be110a7e3 100644 --- a/spec/frontend/mocks/mocks_helper_spec.js +++ b/spec/frontend/mocks/mocks_helper_spec.js @@ -121,10 +121,9 @@ describe('mocks_helper.js', () => { }); }); - it('survives jest.resetModules()', done => { + it('survives jest.isolateModules()', done => { jest.isolateModules(() => { const axios2 = require('~/lib/utils/axios_utils').default; - expect(axios2).toBe(axios); // It's still the same mock! expect(axios2.get('http://gitlab.com')) .rejects.toThrow('Unexpected unmocked request') .then(done); diff --git a/spec/frontend/mocks/node/jquery.js b/spec/frontend/mocks/node/jquery.js index 9a8a1e950b9..34a25772f67 100644 --- a/spec/frontend/mocks/node/jquery.js +++ b/spec/frontend/mocks/node/jquery.js @@ -1,6 +1,6 @@ /* eslint-disable import/no-commonjs */ -import $ from 'jquery'; +const $ = jest.requireActual('jquery'); // Fail tests for unmocked requests $.ajax = () => { |