summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Hanzel <mhanzel@gitlab.com>2019-07-16 16:03:41 +0200
committerMartin Hanzel <mhanzel@gitlab.com>2019-07-16 16:24:21 +0200
commit73e2e4489c988a442844e8ffda6ac79f5d706ba7 (patch)
tree233183ddfab84e5bb97943cd85c7d64c71dd8dbf
parente5525fb74d8864e39c8894c7e3c6880fb88156e7 (diff)
downloadgitlab-ce-mh/net-mocks-2.tar.gz
Lazy-load auto-injected mocksmh/net-mocks-2
-rw-r--r--spec/frontend/mocks/mocks_helper.js4
-rw-r--r--spec/frontend/mocks/mocks_helper_spec.js3
-rw-r--r--spec/frontend/mocks/node/jquery.js2
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 = () => {