forked from loafle/openapi-generator-original
Closes #2165 Other changes: * Update JS client of the Petstore sample * Add test cases for getPetByIdInObject and getInventoryInObject
89 lines
2.7 KiB
JavaScript
89 lines
2.7 KiB
JavaScript
(function(root, factory) {
|
|
if (typeof define === 'function' && define.amd) {
|
|
// AMD.
|
|
define(['expect.js', '../../src/index'], factory);
|
|
} else if (typeof module === 'object' && module.exports) {
|
|
// CommonJS-like environments that support module.exports, like Node.
|
|
factory(require('expect.js'), require('../../src/index'));
|
|
} else {
|
|
// Browser globals (root is window)
|
|
factory(root.expect, root.SwaggerPetstore);
|
|
}
|
|
}(this, function(expect, SwaggerPetstore) {
|
|
'use strict';
|
|
|
|
var api;
|
|
|
|
beforeEach(function() {
|
|
api = new SwaggerPetstore.PetApi();
|
|
});
|
|
|
|
var createRandomPet = function() {
|
|
var id = new Date().getTime();
|
|
var pet = new SwaggerPetstore.Pet();
|
|
pet.setId(id);
|
|
pet.setName("pet" + id);
|
|
|
|
var category = new SwaggerPetstore.Category();
|
|
category.setId(id);
|
|
category.setName("category" + id);
|
|
pet.setCategory(category);
|
|
|
|
pet.setStatus('available');
|
|
var photos = ["http://foo.bar.com/1", "http://foo.bar.com/2"];
|
|
pet.setPhotoUrls(photos);
|
|
|
|
return pet;
|
|
};
|
|
|
|
describe('PetApi', function() {
|
|
it('should create and get pet', function(done) {
|
|
var pet = createRandomPet();
|
|
api.addPet({body: pet}, function(error) {
|
|
if (error) throw error;
|
|
|
|
api.getPetById(pet.id, function(error, fetched, response) {
|
|
if (error) throw error;
|
|
expect(response.status).to.be(200);
|
|
expect(response.ok).to.be(true);
|
|
expect(response.get('Content-Type')).to.be('application/json');
|
|
|
|
expect(fetched).to.be.a(SwaggerPetstore.Pet);
|
|
expect(fetched.id).to.be(pet.id);
|
|
expect(fetched.getPhotoUrls()).to.eql(pet.getPhotoUrls());
|
|
expect(fetched.getCategory()).to.be.a(SwaggerPetstore.Category);
|
|
expect(fetched.getCategory().getName()).to.be(pet.getCategory().getName());
|
|
|
|
api.deletePet(pet.id);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
it('getPetByIdInObject', function(done) {
|
|
var pet = createRandomPet();
|
|
api.addPet({body: pet}, function(error) {
|
|
if (error) throw error;
|
|
|
|
api.getPetByIdInObject(pet.id, function(error, fetched) {
|
|
if (error) throw error;
|
|
|
|
expect(fetched).to.be.a(SwaggerPetstore.InlineResponse200);
|
|
expect(fetched.id).to.be(pet.id);
|
|
expect(fetched.name).to.be(pet.name);
|
|
|
|
var categoryObj = fetched.category;
|
|
expect(categoryObj).to.be.a(Object);
|
|
expect(categoryObj).not.to.be.a(SwaggerPetstore.Category);
|
|
expect(categoryObj.id).to.be(pet.getCategory().getId());
|
|
expect(categoryObj.name).to.be(pet.getCategory().getName());
|
|
|
|
api.deletePet(pet.id);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
}));
|