UNPKG

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
'use strict'; 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; }); });