Skip to content

Commit

Permalink
Address code review suggestion
Browse files Browse the repository at this point in the history
  • Loading branch information
chenesan committed Apr 22, 2020
1 parent e2665ea commit 4abe272
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 38 deletions.
2 changes: 1 addition & 1 deletion e2e/__tests__/onlyChanged.test.ts
Expand Up @@ -165,7 +165,7 @@ test('report test coverage of source on test file change under only changed file
`,
});

const {stdout} = runJest(DIR, ['-o']);
const {stdout} = runJest(DIR, ['--only-changed']);

expect(stdout).toMatch('a.js');
});
Expand Down
6 changes: 2 additions & 4 deletions packages/jest-core/src/SearchSource.ts
Expand Up @@ -54,9 +54,7 @@ const toTests = (context: Context, tests: Array<Config.Path>) =>
const hasSCM = (changedFilesInfo: ChangedFiles) => {
const {repos} = changedFilesInfo;
// no SCM (git/hg/...) is found in any of the roots.
const noSCM = (Object.keys(repos) as Array<
keyof ChangedFiles['repos']
>).every(scm => repos[scm].size === 0);
const noSCM = Object.values(repos).every(scm => scm.size === 0);
return !noSCM;
};

Expand Down Expand Up @@ -352,7 +350,7 @@ export default class SearchSource {
);
const relatedSourcesSet = new Set<string>();
changedFiles.forEach(filePath => {
const isTestFile = this.isTestFilePath.bind(this)(filePath);
const isTestFile = this.isTestFilePath(filePath);
if (isTestFile) {
const sourcePaths = dependencyResolver.resolve(filePath, {
skipNodeResolution: this._context.config.skipNodeResolution,
Expand Down
18 changes: 9 additions & 9 deletions packages/jest-core/src/TestScheduler.ts
Expand Up @@ -181,9 +181,9 @@ export default class TestScheduler {
if (!testRunners[config.runner]) {
const Runner: typeof TestRunner = require(config.runner);
testRunners[config.runner] = new Runner(this._globalConfig, {
changedFiles: this._context && this._context.changedFiles,
sourcesRelatedToTestsInChangedFiles:
this._context && this._context.sourcesRelatedToTestsInChangedFiles,
changedFiles: this._context?.changedFiles,
sourcesRelatedToTestsInChangedFiles: this._context
?.sourcesRelatedToTestsInChangedFiles,
});
}
});
Expand Down Expand Up @@ -275,9 +275,9 @@ export default class TestScheduler {
if (!isDefault && collectCoverage) {
this.addReporter(
new CoverageReporter(this._globalConfig, {
changedFiles: this._context && this._context.changedFiles,
sourcesRelatedToTestsInChangedFiles:
this._context && this._context.sourcesRelatedToTestsInChangedFiles,
changedFiles: this._context?.changedFiles,
sourcesRelatedToTestsInChangedFiles: this._context
?.sourcesRelatedToTestsInChangedFiles,
}),
);
}
Expand Down Expand Up @@ -307,9 +307,9 @@ export default class TestScheduler {
if (collectCoverage) {
this.addReporter(
new CoverageReporter(this._globalConfig, {
changedFiles: this._context && this._context.changedFiles,
sourcesRelatedToTestsInChangedFiles:
this._context && this._context.sourcesRelatedToTestsInChangedFiles,
changedFiles: this._context?.changedFiles,
sourcesRelatedToTestsInChangedFiles: this._context
?.sourcesRelatedToTestsInChangedFiles,
}),
);
}
Expand Down
20 changes: 4 additions & 16 deletions packages/jest-core/src/__tests__/SearchSource.test.ts
Expand Up @@ -533,30 +533,18 @@ describe('SearchSource', () => {
});

describe('findRelatedSourcesFromTestsInChangedFiles', () => {
const rootDir = path.join(
const rootDir = path.resolve(
__dirname,
'..',
'..',
'..',
'jest-runtime',
'src',
'__tests__',
'test_root',
'../../../jest-runtime/src/__tests__/test_root',
);

beforeEach(done => {
const {options: config} = normalize(
{
haste: {
hasteImplModulePath: path.join(
hasteImplModulePath: path.resolve(
__dirname,
'..',
'..',
'..',
'jest-haste-map',
'src',
'__tests__',
'haste_impl.js',
'../../../jest-haste-map/src/__tests__/haste_impl.js',
),
providesModuleNodeModules: [],
},
Expand Down
6 changes: 3 additions & 3 deletions packages/jest-core/src/runJest.ts
Expand Up @@ -243,8 +243,8 @@ export default async function runJest({

if (changedFilesPromise) {
const changedFilesInfo = await changedFilesPromise;
testSchedulerContext.changedFiles = changedFilesInfo.changedFiles;
if (testSchedulerContext.changedFiles) {
if (changedFilesInfo.changedFiles) {
testSchedulerContext.changedFiles = changedFilesInfo.changedFiles;
const sourcesRelatedToTestsInChangedFilesArray = contexts
.map(context => {
const searchSource = new SearchSource(context);
Expand All @@ -253,7 +253,7 @@ export default async function runJest({
);
return relatedSourceFromTestsInChangedFiles;
})
.reduce((total, paths) => [...total, ...paths], []);
.reduce((total, paths) => total.concat(paths), []);
testSchedulerContext.sourcesRelatedToTestsInChangedFiles = new Set(
sourcesRelatedToTestsInChangedFilesArray,
);
Expand Down
5 changes: 2 additions & 3 deletions packages/jest-reporters/src/coverage_worker.ts
Expand Up @@ -40,9 +40,8 @@ export function worker({
path,
globalConfig,
config,
options && options.changedFiles && new Set(options.changedFiles),
options &&
options.sourcesRelatedToTestsInChangedFiles &&
options?.changedFiles && new Set(options.changedFiles),
options?.sourcesRelatedToTestsInChangedFiles &&
new Set(options.sourcesRelatedToTestsInChangedFiles),
);
}
4 changes: 2 additions & 2 deletions packages/jest-runner/src/runTest.ts
Expand Up @@ -147,13 +147,13 @@ async function runTestInternal(
setGlobal(environment.global, 'console', testConsole);

const runtime = new Runtime(config, environment, resolver, cacheFS, {
changedFiles: context && context.changedFiles,
changedFiles: context?.changedFiles,
collectCoverage: globalConfig.collectCoverage,
collectCoverageFrom: globalConfig.collectCoverageFrom,
collectCoverageOnlyFrom: globalConfig.collectCoverageOnlyFrom,
coverageProvider: globalConfig.coverageProvider,
sourcesRelatedToTestsInChangedFiles:
context && context.sourcesRelatedToTestsInChangedFiles,
context?.sourcesRelatedToTestsInChangedFiles,
});

const start = Date.now();
Expand Down

0 comments on commit 4abe272

Please sign in to comment.