William Cheng 1d889da4e3
Various fixes (#1)
* fix pistache c++ server in windows

* skip perl test

* comment out go tests

* Fix go test, manually fix go client

* fix rails batch file

* fix tab in java file

* install rust

* fix swift2-deprecated in windows batch file

* fix rust installation

* comment out js test

* update swift windows batch files

* update tizen batch script

* comment out ktor test
2018-05-13 01:31:13 +08:00

113 lines
3.8 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.OpenAPIPetstore);
}
}(this, function(expect, OpenAPIPetstore) {
'use strict';
var api;
beforeEach(function() {
api = new OpenAPIPetstore.PetApi();
});
var getProperty = function(object, getter, property) {
// Use getter method if present; otherwise, get the property directly.
if (typeof object[getter] === 'function')
return object[getter]();
else
return object[property];
}
var setProperty = function(object, setter, property, value) {
// Use setter method if present; otherwise, set the property directly.
if (typeof object[setter] === 'function')
object[setter](value);
else
object[property] = value;
}
var createRandomPet = function() {
var id = new Date().getTime();
var pet = new OpenAPIPetstore.Pet();
setProperty(pet, "setId", "id", id);
setProperty(pet, "setName", "name", "pet" + id);
var category = new OpenAPIPetstore.Category();
setProperty(category, "setId", "id", id);
setProperty(category, "setName", "name", "category" + id);
setProperty(pet, "setCategory", "category", category);
setProperty(pet, "setStatus", "status", "available");
var photos = ["http://foo.bar.com/1", "http://foo.bar.com/2"];
setProperty(pet, "setPhotoUrls", "photoUrls", photos);
return pet;
};
describe('PetApi', function() {
it('should create and get pet', function(done) {
var pet = createRandomPet();
api.addPet(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(OpenAPIPetstore.Pet);
expect(fetched.id).to.be(pet.id);
expect(getProperty(fetched, "getPhotoUrls", "photoUrls"))
.to.eql(getProperty(pet, "getPhotoUrls", "photoUrls"));
expect(getProperty(fetched, "getCategory", "category"))
.to.be.a(OpenAPIPetstore.Category);
expect(getProperty(getProperty(fetched, "getCategory", "category"), "getName", "name"))
.to.be(getProperty(getProperty(pet, "getCategory", "category"), "getName", "name"));
api.deletePet(pet.id);
done();
});
});
});
/* commented out the following as the fake endpoint has been removed from the spec
* we'll add it back after updating the Petstore server
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(OpenAPIPetstore.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(OpenAPIPetstore.Category);
expect(categoryObj.id)
.to.be(getProperty(getProperty(pet, "getCategory", "category"), "getId", "id"));
expect(categoryObj.name)
.to.be(getProperty(getProperty(pet, "getCategory", "category"), "getName", "name"));
api.deletePet(pet.id);
done();
});
});
});
*/
});
}));