Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/mocks/mocks_helper.js')
-rw-r--r--spec/frontend/mocks/mocks_helper.js58
1 files changed, 0 insertions, 58 deletions
diff --git a/spec/frontend/mocks/mocks_helper.js b/spec/frontend/mocks/mocks_helper.js
deleted file mode 100644
index 295483cd64c..00000000000
--- a/spec/frontend/mocks/mocks_helper.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * @module
- *
- * This module implements auto-injected manual mocks that are cleaner than Jest's approach.
- *
- * See https://docs.gitlab.com/ee/development/testing_guide/frontend_testing.html
- */
-
-import fs from 'fs';
-import path from 'path';
-
-import readdir from 'readdir-enhanced';
-
-const MAX_DEPTH = 20;
-const prefixMap = [
- // E.g. the mock ce/foo/bar maps to require path ~/foo/bar
- { mocksRoot: 'ce', requirePrefix: '~' },
- // { mocksRoot: 'ee', requirePrefix: 'ee' }, // We'll deal with EE-specific mocks later
- // { mocksRoot: 'virtual', requirePrefix: '' }, // We'll deal with virtual mocks later
-];
-
-const mockFileFilter = (stats) => stats.isFile() && stats.path.endsWith('.js');
-
-const getMockFiles = (root) => readdir.sync(root, { deep: MAX_DEPTH, filter: mockFileFilter });
-
-// 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
-const defaultSetMock = (srcPath, mockPath) =>
- jest.mock(srcPath, () => jest.requireActual(mockPath));
-
-export const setupManualMocks = function setupManualMocks(setMock = defaultSetMock) {
- prefixMap.forEach(({ mocksRoot, requirePrefix }) => {
- const mocksRootAbsolute = path.join(__dirname, mocksRoot);
- if (!fs.existsSync(mocksRootAbsolute)) {
- return;
- }
-
- getMockFiles(path.join(__dirname, mocksRoot)).forEach((mockPath) => {
- const mockPathNoExt = mockPath.substring(0, mockPath.length - path.extname(mockPath).length);
- const sourcePath = path.join(requirePrefix, mockPathNoExt);
- const mockPathRelative = `./${path.join(mocksRoot, mockPathNoExt)}`;
-
- try {
- setMock(sourcePath, mockPathRelative);
- } catch (e) {
- if (e.message.includes('Could not locate module')) {
- // The corresponding mocked module doesn't exist. Raise a better error.
- // Eventualy, we may support virtual mocks (mocks whose path doesn't directly correspond
- // to a module, like with the `ee_else_ce` prefix).
- throw new Error(
- `A manual mock was defined for module ${sourcePath}, but the module doesn't exist!`,
- );
- }
- }
- });
- });
-};