'use strict'; describe('SwaggerUi.partials.signature tests', function () { var sut = SwaggerUi.partials.signature; describe('method createXMLSample', function () { var date = new Date(1).toISOString().split('T')[0]; var dateTime = new Date(1).toISOString(); describe('simple types with no xml property', function () { it('returns tag string when passing type string', function () { var name = 'tagname'; var definition = {type: 'string'}; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); it('returns tag 1 when passing type integer', function () { var name = 'tagname'; var definition = {type: 'integer'}; expect(sut.createXMLSample(name, definition)).to.equal('1'); }); it('returns tag 1.1 when passing type number', function () { var name = 'tagname'; var definition = {type: 'number'}; expect(sut.createXMLSample(name, definition)).to.equal('1.1'); }); it('returns tag boolean when passing type boolean', function () { var name = 'tagname'; var definition = {type: 'boolean'}; expect(sut.createXMLSample(name, definition)).to.equal('true'); }); it('returns tag ' + date + ' when passing type string format date', function () { var name = 'tagname'; var definition = {type: 'string', format: 'date'}; expect(sut.createXMLSample(name, definition)).to.equal('' + date + ''); }); it('returns tag ' + dateTime + ' when passing type string format date-time', function () { var name = 'tagname'; var definition = {type: 'string', format: 'date-time'}; expect(sut.createXMLSample(name, definition)).to.equal('' + dateTime + ''); }); }); describe('simple types with xml property', function () { it('returns tag string when passing type string and xml:{name: "newtagname"}', function () { var name = 'tagname'; var definition = { type: 'string', xml: { name: 'newtagname' } }; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); it('returns tag string when passing type string and xml:{name: "newtagname", prefix:"test"}', function () { var name = 'tagname'; var definition = { type: 'string', xml: { name: 'newtagname', prefix: 'test' } }; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); it('returns tag string when passing type string and xml:{name: "newtagname", prefix:"test"}', function () { var name = 'tagname'; var definition = { type: 'string', xml: { prefix: 'test' } }; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); it('returns tag string when passing type string and xml:{"namespace": "http://swagger.io/schema/sample", "prefix": "sample"}', function () { var name = 'name'; var definition = { "type": "string", "xml": { "namespace": "http://swagger.io/schema/sample", "prefix": "sample" } }; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); it('returns tag string when passing type string and xml:{"namespace": "http://swagger.io/schema/sample"}', function () { var name = 'name'; var definition = { "type": "string", "xml": { "namespace": "http://swagger.io/schema/sample" } }; expect(sut.createXMLSample(name, definition)).to.equal('string'); }); }); describe('array', function () { it('returns tag stringstring when passing string items', function () { var expected = 'stringstring'; var name = 'tagname'; var definition = { type: 'array', items: { type: 'string' } }; expect(sut.createXMLSample(name, definition)).to.equal(expected); }); }); describe('array', function () { it('returns tag stringstring when passing string items with name', function () { var expected = 'stringstring'; var name = 'animals'; var definition = { type: 'array', items: { type: 'string', xml: { name: 'animal' } } }; expect(sut.createXMLSample(name, definition)).to.equal(expected); }); }); describe('array', function () { it('returns tag stringstring when passing string items with name', function () { var expected = 'stringstring'; var name = 'animals'; var definition = { type: 'array', items: { type: 'string', xml: { name: 'animal' } }, xml: { wrapped: true } }; expect(sut.createXMLSample(name, definition)).to.equal(expected); }); }); describe('array', function () { it('returns tag stringstring when passing string items with name and {wrapped: true}', function () { var expected = 'stringstring'; var name = 'animals'; var definition = { type: 'array', items: { type: 'string', xml: { name: 'animal' } }, xml: { wrapped: true, name: 'aliens' } }; expect(sut.createXMLSample(name, definition)).to.equal(expected); }); }); }); });