express-oas-generator
Version:
Module to automatically generate OpenAPI (Swagger) specification for existing ExpressJS 4.x REST API applications
31 lines (24 loc) • 1.06 kB
JavaScript
;
const mongoose = require('mongoose');
require('./mongoose_models/student');
const {generateMongooseModelsSpec} = require('../../lib/mongoose.js');
describe('mongoose.js', () => {
describe('generateMongooseModelsSpec()', () => {
it('WHEN supplied mongoose model does not exist THEN should throw exception', () => {
const mongooseModels = ['User', 'Student'];
return expect(() => {
generateMongooseModelsSpec(mongooseModels);
})
.toThrowError(new RegExp(`Schema hasn't been registered for model "${mongooseModels[0]}"`));
});
it('WHEN mongoose model exists THEN it should generate the model spec', () => {
const mongooseModels = mongoose.modelNames();
const mongooseModelSpecs = generateMongooseModelsSpec(mongooseModels);
return mongooseModels.map(model => {
const modelSpec = mongooseModelSpecs[model];
/* Not asserting the spec itself, trusting mongoose-to-swagger :) */
return expect(modelSpec).toBeDefined();
});
});
});
});