Skip to content

Commit c3dc2dd

Browse files
committed
Speed up test suite by using local npm.js stub
1 parent f362fa9 commit c3dc2dd

16 files changed

Lines changed: 89 additions & 71 deletions

File tree

jest.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ module.exports = {
33
'\\.css$': '<rootDir>/modules/__mocks__/styleMock.js',
44
'\\.png$': '<rootDir>/modules/__mocks__/imageMock.js',
55
'entry-manifest': '<rootDir>/modules/__mocks__/entryManifest.js',
6-
'getStats\\.js': '<rootDir>/modules/__mocks__/getStatsMock.js'
6+
'getStats\\.js': '<rootDir>/modules/__mocks__/getStatsMock.js',
7+
'utils\\/npm\\.js': '<rootDir>/modules/__mocks__/npmMock.js'
78
},
89
testMatch: ['**/__tests__/*-test.js'],
9-
testURL: 'http://localhost/',
10-
setupTestFrameworkScriptFile: './jest.setup.js'
10+
testURL: 'http://localhost/'
1111
};

jest.setup.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

modules/__mocks__/metadata/@babel/core.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/__mocks__/metadata/preact.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/__mocks__/metadata/react.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/__mocks__/metadata/sinuous.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/__mocks__/npmMock.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import fs from 'fs';
2+
import path from 'path';
3+
4+
function getPackageInfo(packageName) {
5+
const file = path.resolve(__dirname, `./metadata/${packageName}.json`);
6+
7+
try {
8+
return JSON.parse(fs.readFileSync(file, 'utf-8'));
9+
} catch (error) {
10+
return null;
11+
}
12+
}
13+
14+
export function getVersionsAndTags(packageName) {
15+
const info = getPackageInfo(packageName);
16+
return info
17+
? { versions: Object.keys(info.versions), tags: info['dist-tags'] }
18+
: [];
19+
}
20+
21+
export function getPackageConfig(packageName, version) {
22+
const info = getPackageInfo(packageName);
23+
return info ? info.versions[version] : null;
24+
}
25+
26+
export function getPackage(packageName, version) {
27+
const file = path.resolve(
28+
__dirname,
29+
`./packages/${packageName}-${version}.tgz`
30+
);
31+
32+
return fs.existsSync(file) ? fs.createReadStream(file) : null;
33+
}
28.4 KB
Binary file not shown.
136 KB
Binary file not shown.
52.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)