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
JavaScript
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);
});
});
});
;