All files / src/plugins/validation/swagger2/semantic-validators swagger.js

100% Statements 11/11
100% Branches 6/6
100% Functions 1/1
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38                  29x   29x 37x   37x   37x 1x         36x 1x         35x 1x           37x    
// Assertation 1:
// check if swagger field exist
 
// Assertation 2:
// make sure the swagger field is of type string
 
// Assertation 3:
// make sure the value of swagger field must be "2.0"
 
const MessageCarrier = require('../../../utils/messageCarrier');
 
module.exports.validate = function({ jsSpec }) {
  const messages = new MessageCarrier();
 
  const swagger = jsSpec.swagger;
 
  if (!swagger) {
    messages.addMessage(
      ['swagger'],
      'API definition must have an `swagger` field',
      'error'
    );
  } else if (typeof swagger !== 'string') {
    messages.addMessage(
      ['swagger'],
      'API definition must have an `swagger` field as type string',
      'error'
    );
  } else if (swagger !== '2.0') {
    messages.addMessage(
      ['swagger'],
      '`swagger` string must have the value `2.0`',
      'error'
    );
  }
  return messages;
};