Skip to content

Commit

Permalink
feat: uses plain strings comparison for statusCode validation
Browse files Browse the repository at this point in the history
Closes #159

BREAKING CHANGE: Gavel doesn't return text diff data on status code comparison anymore.
  • Loading branch information
artem-zakharchenko committed May 22, 2019
1 parent a39dbce commit a3b324e
Showing 1 changed file with 13 additions and 16 deletions.
29 changes: 13 additions & 16 deletions lib/next/units/validateStatusCode.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
const { TextDiff } = require('../../validators/text-diff');

const APIARY_STATUS_CODE_TYPE = 'text/vnd.apiary.status-code';

/**
Expand All @@ -8,25 +6,24 @@ const APIARY_STATUS_CODE_TYPE = 'text/vnd.apiary.status-code';
* @param {number} expected
*/
function validateStatusCode(real, expected) {
const validator = new TextDiff(real.statusCode, expected.statusCode);
const rawData = validator.validate();
const results = validator.evaluateOutputToResults();
const results = [];
const isValid = real.statusCode === expected.statusCode;

if (!isValid) {
results.push({
message: `Status code is '${real.statusCode}' instead of '${
expected.statusCode
}'`,
severity: 'error'
});
}

return {
validator: 'TextDiff',
realType: APIARY_STATUS_CODE_TYPE,
expectedType: APIARY_STATUS_CODE_TYPE,
rawData,
results: results.map((result) =>
Object.assign({}, result, {
message:
result.message === 'Real and expected data does not match.'
? `Status code is '${real.statusCode}' instead of '${
expected.statusCode
}'`
: result.message
})
)
rawData: '',
results
};
}

Expand Down

0 comments on commit a3b324e

Please sign in to comment.