UNPKG

rest-api-starter

Version:
121 lines (105 loc) 3.56 kB
/** * Created by svinci on 1/13/17. */ 'use strict'; const mocha = require('mocha'); const chai = require('chai'); const describe = mocha.describe; const it = mocha.it; const before = mocha.before; const after = mocha.after; const expect = chai.expect; const localStore = require('../app/local-store'); const serverBuilder = require('./testServer'); const clientBuilder = require('../app/client'); describe('Client', () => { let server = null; let client = null; before(() => { server = serverBuilder(); client = clientBuilder('http://localhost:8100', 900); }); it('should correctly post a document', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); const object = { 'test': 'case' }; client.post(object, '/client-post-test', {}).then((obj) => { expect(obj.test).to.equal(object.test); done(); }).catch((err) => done(err)); }); }); it('should get one document', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); client.get('/client-get-test', {}).then((objs) => { expect(objs.length).to.equal(1); expect(objs[0].test).to.equal('case'); done(); }).catch((err) => done(err)); }); }); it('should put one document', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); const object = { 'test': 'case' }; client.put(object, '/client-put-test', {}).then((obj) => { expect(obj.test).to.equal(object.test); done(); }).catch((err) => done(err)); }); }); it('should patch one document', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); const object = { 'test': 'case' }; client.patch(object, '/client-patch-test', {}).then((obj) => { expect(obj.test).to.equal(object.test); done(); }).catch((err) => done(err)); }); }); it('should delete one document', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); client.del('/client-del-test', {}).then(() => { done(); }).catch((err) => done(err)); }); }); it('should reject on global timeout', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); client.get('/endpoint-that-takes-1s', {}).then(() => { done('expected failure'); }).catch((err) => { expect(err.timeout).to.equal(900); done(); }).catch((err) => { done(err); }); }); }); it('should reject on request timeout', (done) => { localStore.create(function() { localStore.putValue('tid', 'some-tid'); client.get('/endpoint-that-takes-half-s', {}, 400).then(() => { done('expected failure'); }).catch((err) => { expect(err.timeout).to.equal(400); done(); }).catch((err) => { done(err); }); }); }); after(() => { server.close(); }); });