UNPKG

react-redux-fetch

Version:

A declarative and customizable way to fetch data for React components and manage that data in the Redux state

71 lines (52 loc) 2.35 kB
'use strict'; var _chai = require('chai'); var _chai2 = _interopRequireDefault(_chai); var _ContainerBuilder = require('./ContainerBuilder'); var _ContainerBuilder2 = _interopRequireDefault(_ContainerBuilder); var _Definition = require('./Definition'); var _Definition2 = _interopRequireDefault(_Definition); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } _chai2.default.should(); describe('Definition', function () { describe('register()', function () { it('should return an instance of Definition', function () { var container = new _ContainerBuilder2.default(); container.register('FooBar', { foo: { bar: 'foobar' } }).should.be.an.instanceOf(_Definition2.default); }); }); describe('setDefinition()', function () { var container = new _ContainerBuilder2.default(); var def = container.setDefinition('FooBar', new _Definition2.default({ foo: { bar: 'foobar' } })); it('should return an instance of Definition', function () { def.should.be.an.instanceOf(_Definition2.default); }); it('should add the passed definition to its definitions list', function () { container.definitions.should.eql({ foobar: def }); }); }); describe('getDefinition()', function () { var container = new _ContainerBuilder2.default(); var def = container.setDefinition('FooBar', new _Definition2.default({ foo: { bar: 'foobar' } })); it('should return the correct definition for given id', function () { container.getDefinition('FooBar').should.equal(def); }); it('should handle given id case-insensitive', function () { container.getDefinition('FoObAr').should.equal(def); }); it('should throw an error if id does not exist', function () { (function shouldThrow() { container.getDefinition('john'); }).should.throw(Error); }); }); describe('hasDefinition', function () { var container = new _ContainerBuilder2.default(); container.register('FooBar', { foo: 'bar' }); it('should return true if container has definition', function () { container.hasDefinition('FooBar').should.equal(true); }); it('should return false if container does not have definition', function () { container.hasDefinition('BarFoo').should.equal(false); }); }); });