mojio-js-sdk
Version:
Mojio javascript REST client.
89 lines (76 loc) • 2.6 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var App, Mojio, MojioREST, Trip, User, Vehicle, async, nock, should;
MojioREST = require('.././rest/MojioREST');
User = require('.././models/User');
Mojio = require('.././models/Mojio');
Vehicle = require('.././models/Vehicle');
Trip = require('.././models/Trip');
App = require('.././models/App');
should = require('should');
async = require('async');
nock = require('nock');
describe('Node Mojio Rest SDK', function() {
var mojio, testErrorResult, user, vehicle;
user = null;
mojio = null;
vehicle = null;
testErrorResult = function(error, result) {
(error === null).should.be["true"];
return (result !== null).should.be["true"];
};
return it('can query, create, save, and delete user, vehicle, mojio, or trip', function(done) {
var call, i, len, path, ref, resource, results, sdk, sdkCall, token;
sdk = new MojioREST(token = "test");
ref = ["get", "put", "post", "delete"];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
call = ref[i];
results.push((function() {
var j, len1, ref1, results1;
ref1 = ["users", "vehicles", "trips", "mojios", "apps"];
results1 = [];
for (j = 0, len1 = ref1.length; j < len1; j++) {
resource = ref1[j];
switch (call) {
case "get":
path = "/v2/" + resource + "/1";
sdkCall = "query";
break;
case "put":
path = "/v2/" + resource;
sdkCall = "save";
break;
case "post":
path = "/v2/" + resource;
sdkCall = "create";
break;
case "delete":
path = "/v2/" + resource;
sdkCall = "delete";
}
if (call === !"get") {
path = "/v2/" + resource;
}
nock('https://api2.moj.io')[call](path).reply(function(uri, requestBody, cb) {
return cb(null, [
200, {
id: 1
}
]);
});
results1.push(sdk[sdkCall](resource, {
id: 1
}, function(error, result) {
testErrorResult(error, result);
return result.should.be.equal(url + path);
}));
}
return results1;
})());
}
return results;
});
});
}).call(this);
//# sourceMappingURL=NodeRest_test.js.map