model-helper: handle array types with no item type

This commit is contained in:
Miroslav Bajtoš 2014-07-22 21:34:42 +02:00
parent 1f42524077
commit a92450eaf0
2 changed files with 23 additions and 5 deletions

View File

@ -79,12 +79,14 @@ var modelHelper = module.exports = {
out.type = modelHelper.getPropType(out.type);
if (out.type === 'array') {
var arrayProp = prop.type[0];
if (!arrayProp.type) arrayProp = {type: arrayProp};
out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp);
}
var hasItemType = typeof prop.type !== 'string' && prop.type.length;
if (out.type === 'date') {
if (hasItemType) {
var arrayProp = prop.type[0];
if (!arrayProp.type) arrayProp = {type: arrayProp};
out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp);
}
} else if (out.type === 'date') {
out.type = 'string';
out.format = 'date';
} else if (out.type === 'buffer') {

View File

@ -80,6 +80,22 @@ describe('model-helper', function() {
type: 'string', format: 'date'
}});
});
it('converts [] type', function() {
var def = getDefinition({
array: []
});
var prop = def.properties.array;
expect(prop).to.eql({ type: 'array' });
});
it('converts "array" type', function() {
var def = getDefinition({
array: 'array'
});
var prop = def.properties.array;
expect(prop).to.eql({ type: 'array' });
});
});
});
});