UNPKG

cannery-adapter-rest

Version:
69 lines (57 loc) 1.83 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__/fetch_request.mock') }); describe('fetch()', function () { it('Should allow us to define a custom url path', function (done) { var car = new Car(1); var adapter = new RestAdapter(car, { Car: { fetch: 'foo/bar/baz' } }); adapter.fetch(car).then(function (data) { assert.equal(data.make, 'Foo'); done(); }); }); it('Should respond with an object of data', function (done) { var car = new Car(1); var adapter = new RestAdapter(); adapter.fetch(car, {}).then(function (data) { assert.equal(data.make, 'Ford'); done(); }); }); it('Should allow us to pass in an envelope for our data', function (done) { var car = new Car(2); var adapter = new RestAdapter({ envelope: 'car' }); adapter.fetch(car).then(function (data) { assert.equal(data.make, 'Honda'); done(); }); }); it('Should catch errors', function (done) { var car = new Car(2000); var adapter = new RestAdapter(); adapter.fetch(car).catch(function (data) { assert.equal(data.statusCode, 404); done(); }); }); it('Should allow us to specify a urlRoot', function (done) { var car = new Car(1); var adapter = new RestAdapter({ urlRoot: 'api/' }); adapter.fetch(car).then(function (data) { assert.equal(data.make, 'Jeep'); done(); }); }); });