UNPKG

cannery-adapter-rest

Version:
71 lines (59 loc) 1.84 kB
'use strict'; var assert = require('assert'); var proxyquire = require('proxyquire'); var Car = require('../__mocks__/car_model.mock'); var RestAdapter = proxyquire('../index', { 'then-request': require('../__mocks__/create_request.mock') }); describe('create()', function () { it('Should allow us to override the route', function (done) { var car = new Car(1); var adapter = new RestAdapter(car, { Car: { create: 'foo/bar/baz' } }); adapter.create(car).then(function (data) { assert.equal(data.id, 5000); done(); }); }); it('Should respond with an object of data', function (done) { var car = new Car(); var adapter = new RestAdapter(); adapter.create(car).then(function (data) { assert.equal(data.id, 1); done(); }); }); it('Should allow us to pass in an envelope for our data', function (done) { var car = new Car(); var adapter = new RestAdapter({ envelope: 'car' }); adapter.create(car).then(function (data) { assert.equal(data.id, 2); done(); }); }); it('Should catch errors', function (done) { var car = new Car(); var adapter = new RestAdapter({ throwError: true }); adapter.create(car).catch(function (data) { assert.equal(data.statusCode, 500); done(); }); }); it('Should allow us to specify a urlRoot', function (done) { var car = new Car(); var adapter = new RestAdapter({ urlRoot: 'api/' }); adapter.create(car).then(function (data) { assert.equal(data.id, 3); done(); }); }); });