Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deps #131

Merged
merged 6 commits into from Sep 22, 2019
Merged

Deps #131

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 3 additions & 2 deletions package.json
Expand Up @@ -50,10 +50,11 @@
"strip-json-comments": "^3.0.1"
},
"devDependencies": {
"eslint": "^5.16.0",
"eslint-config-tc": "^6.5.0",
"eslint": "^6.4.0",
"eslint-config-tc": "^8.0.1",
"eslint-formatter-pretty": "^2.1.1",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^22.17.0",
"eslint-plugin-prettier": "^3.1.1",
"figures": "^3.0.0",
"jest": "^24.9.0",
Expand Down
4 changes: 2 additions & 2 deletions src/config/applyExtendsIfSpecified.js
Expand Up @@ -26,10 +26,10 @@ const applyExtends = (config, parentName, originalFilePath) => {
const extendsConfig = loadFromModule(moduleName, originalFilePath);

// Merge base object
const mergedConfig = Object.assign({}, extendsConfig, previousConfig);
const mergedConfig = {...extendsConfig, ...previousConfig};

// Merge rules
const rules = Object.assign({}, extendsConfig.rules, previousConfig.rules);
const rules = {...extendsConfig.rules, ...previousConfig.rules};

// Merge plugins, if exist
const extendsConfigPlugins = Array.isArray(extendsConfig.plugins) ? extendsConfig.plugins : [];
Expand Down
2 changes: 1 addition & 1 deletion src/config/applyOverrides.js
Expand Up @@ -34,7 +34,7 @@ const applyOverrides = (cwd, filePath, rules, overrides) => {
const globbedFilePath = path.resolve(cwd, globFile);

if (filePath === globbedFilePath) {
finalRules = Object.assign({}, finalRules, override.rules);
finalRules = {...finalRules, ...override.rules};
}
});
});
Expand Down
34 changes: 13 additions & 21 deletions test/unit/NpmPackageJsonLint.test.js
Expand Up @@ -16,16 +16,16 @@ describe('NpmPackageJsonLint Unit Tests', () => {
const expectedTotalWarningCount = 0;
const expectedIssues = 0;

expect(response.results.length).toStrictEqual(expectedResults);
expect(response.results).toHaveLength(expectedResults);
expect(response.ignoreCount).toStrictEqual(expectedTotalIgnoreCount);
expect(response.errorCount).toStrictEqual(expectedTotalErrorCount);
expect(response.warningCount).toStrictEqual(expectedTotalWarningCount);
expect(response.results[0].issues.length).toStrictEqual(expectedIssues);
expect(response.results[0].issues).toHaveLength(expectedIssues);
});
});

describe('validate that errors and warnings are set', () => {
test('one error and one warning expected', () => {
describe('validate that errors and warnings are set on output', () => {
test('ten errors and one warning expected', () => {
const packageJsonData = {
name: 'ALLCAPS'
};
Expand All @@ -43,17 +43,13 @@ describe('NpmPackageJsonLint Unit Tests', () => {
const expectedErrorCount = 9;
const expectedWarningCount = 1;

expect(response.results.length).toStrictEqual(expectedResults);
expect(response.results).toHaveLength(expectedResults);
expect(response.ignoreCount).toStrictEqual(expectedTotalIgnoreCount);
expect(response.errorCount).toStrictEqual(expectedTotalErrorCount);
expect(response.warningCount).toStrictEqual(expectedTotalWarningCount);
expect(response.results[0].issues.length).toStrictEqual(expectedIssues);
expect(response.results[0].issues.filter(issue => issue.severity === 'error').length).toStrictEqual(
expectedErrorCount
);
expect(response.results[0].issues.filter(issue => issue.severity === 'warning').length).toStrictEqual(
expectedWarningCount
);
expect(response.results[0].issues).toHaveLength(expectedIssues);
expect(response.results[0].issues.filter(issue => issue.severity === 'error')).toHaveLength(expectedErrorCount);
expect(response.results[0].issues.filter(issue => issue.severity === 'warning')).toHaveLength(expectedWarningCount);
});
});

Expand Down Expand Up @@ -105,17 +101,13 @@ describe('NpmPackageJsonLint Unit Tests', () => {
const expectedErrorCount = 9;
const expectedWarningCount = 0;

expect(response.results.length).toStrictEqual(expectedResults);
expect(response.results).toHaveLength(expectedResults);
expect(response.ignoreCount).toStrictEqual(expectedTotalIgnoreCount);
expect(response.errorCount).toStrictEqual(expectedTotalErrorCount);
expect(response.warningCount).toStrictEqual(expectedTotalWarningCount);
expect(response.results[0].issues.length).toStrictEqual(expectedIssues);
expect(response.results[0].issues.filter(issue => issue.severity === 'error').length).toStrictEqual(
expectedErrorCount
);
expect(response.results[0].issues.filter(issue => issue.severity === 'warning').length).toStrictEqual(
expectedWarningCount
);
expect(response.results[0].issues).toHaveLength(expectedIssues);
expect(response.results[0].issues.filter(issue => issue.severity === 'error')).toHaveLength(expectedErrorCount);
expect(response.results[0].issues.filter(issue => issue.severity === 'warning')).toHaveLength(expectedWarningCount);
});
});

Expand Down Expand Up @@ -149,7 +141,7 @@ describe('NpmPackageJsonLint Unit Tests', () => {
const expectedTotalErrorCount = 0;
const expectedTotalWarningCount = 0;

expect(response.results.length).toStrictEqual(expectedResults);
expect(response.results).toHaveLength(expectedResults);
expect(response.ignoreCount).toStrictEqual(expectedTotalIgnoreCount);
expect(response.errorCount).toStrictEqual(expectedTotalErrorCount);
expect(response.warningCount).toStrictEqual(expectedTotalWarningCount);
Expand Down
27 changes: 1 addition & 26 deletions test/unit/Parser.test.js
Expand Up @@ -25,33 +25,8 @@ describe('Parser Unit Tests', () => {

expect(() => {
Parser.parseJsonFile('missing.json');
}).toThrowError('Failed to read config file: missing.json. \nError: Error');
}).toThrow('Failed to read config file: missing.json. \nError: Error');
});
});
});

// describe('parseJavaScriptFile method', () => {
// describe('when file is present', () => {
// test('an object should be returned', () => {
// const packageJson = {
// name: 'Marcel the Shell with Shoes On'
// };
// const stub = sinon.stub(fs, 'readFileSync').returns(packageJson);

// Parser.parseJavaScriptFile('package.json').should.equal(packageJson);
// fs.readFileSync.restore();
// });
// });

// describe('when file is not present', () => {
// test('an error should be thrown', () => {
// const stub = sinon.stub(fs, 'readFileSync').throws();

// (() => {
// Parser.parseJavaScriptFile('missing.json');
// }).should.throw('Failed to read config file: missing.json. \nError: Error');
// fs.readFileSync.restore();
// });
// });
// });
});
2 changes: 1 addition & 1 deletion test/unit/Reporter.test.js
Expand Up @@ -196,7 +196,7 @@ describe('Reporter Unit Tests', () => {
consoleMock.mockRestore();
});

test('and two errors, two warnings exist, and quiet is false. Spy should be 8', () => {
test('and zero errors, zero warnings exist, and ignore is true. Spy should be 2', () => {
const results = {
results: [
{
Expand Down
6 changes: 3 additions & 3 deletions test/unit/config/applyExtendsIfSpecified.test.js
Expand Up @@ -70,7 +70,7 @@ describe('applyExtendsIfSpecified Unit Tests', () => {

expect(() => {
applyExtendsIfSpecified(passedConfig, filePath);
}).toThrow();
}).toThrow('');
});

test('when file has local extends (invalid extension type), a config object is returned', () => {
Expand All @@ -84,7 +84,7 @@ describe('applyExtendsIfSpecified Unit Tests', () => {

expect(() => {
applyExtendsIfSpecified(passedConfig, filePath);
}).toThrow();
}).toThrow('');
});

test('when file has module extends (valid), a config object is returned', () => {
Expand Down Expand Up @@ -145,6 +145,6 @@ describe('applyExtendsIfSpecified Unit Tests', () => {

expect(() => {
applyExtendsIfSpecified(passedConfig, filePath);
}).toThrow();
}).toThrow('');
});
});
2 changes: 1 addition & 1 deletion test/unit/config/cosmicConfigTransformer.test.js
Expand Up @@ -20,7 +20,7 @@ describe('cosmicConfigTransformer Unit Tests', () => {
});
});

describe('valid cosmiconfigResult - no configBaseDirectory', () => {
describe('valid cosmiconfigResult - configBaseDirectory', () => {
test('null should be returned', () => {
path.dirname.mockReturnValue('./myConfig');
applyExtendsIfSpecified.mockReturnValue({
Expand Down