redux-ab-test
Version:
A/B testing React components with Redux and debug tools. Isomorphic with a simple, universal interface. Well documented and lightweight. Tested in popular browsers and Node.js. Includes helpers for React, Redux, and Segment.io
46 lines (32 loc) • 1.75 kB
JavaScript
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _immutable = require('immutable');
var _immutable2 = _interopRequireDefault(_immutable);
var _getKey = require('./get-key');
var _getKey2 = _interopRequireDefault(_getKey);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
describe('utils/get-key.js', function () {
it('exists', function () {
expect(_getKey2['default']).not.toBeUndefined;
expect(typeof _getKey2['default'] === 'undefined' ? 'undefined' : (0, _typeof3['default'])(_getKey2['default'])).toEqual('function');
});
it('chooses the :id when availble', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({ id: 'test-id', name: 'Test-Name' }))).toEqual('test-id');
});
it('chooses the :name when :id is undefined', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({ id: undefined, name: 'Test-Name' }))).toEqual('Test-Name');
});
it('chooses the :name when :id is null', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({ id: null, name: 'Test-Name' }))).toEqual('Test-Name');
});
it('chooses the :name when :id is falsy', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({ id: false, name: 'Test-Name' }))).toEqual('Test-Name');
});
it('chooses the :name when :id not set', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({ name: 'Test-Name' }))).toEqual('Test-Name');
});
it('returns null when id and name are not defined', function () {
expect((0, _getKey2['default'])(_immutable2['default'].Map({}))).toBeNull;
});
});
;