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

90 lines (70 loc) 2.59 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _redux = require('redux'); var _reactRedux = require('react-redux'); var _reactTestRenderer = require('react-test-renderer'); var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer); var _module = require('../../module'); var _module2 = _interopRequireDefault(_module); var _variation = require('./variation'); var _variation2 = _interopRequireDefault(_variation); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } describe('src/components/experiments2/variation.js', function () { var component = void 0; var tree = void 0; describe('plain text', function () { beforeEach(function () { component = _reactTestRenderer2['default'].create(_react2['default'].createElement( _reactRedux.Provider, { store: (0, _redux.createStore)(_module2['default'], { reduxAbTest: _module.initialState }) }, _react2['default'].createElement( _variation2['default'], { name: 'Test variation' }, 'Testing some text' ) )); tree = component.toJSON(); }); it('exists', function () { expect(component).not.toBeUndefined; }); it('has the correct text', function () { expect(tree).toMatchSnapshot(); expect(tree.children).toEqual(['Testing some text']); }); it('has the correct tagName', function () { expect(tree).toMatchSnapshot(); expect(tree.type).toEqual('span'); }); }); describe('component children', function () { beforeEach(function () { component = _reactTestRenderer2['default'].create(_react2['default'].createElement( _reactRedux.Provider, { store: (0, _redux.createStore)(_module2['default'], { reduxAbTest: _module.initialState }) }, _react2['default'].createElement( _variation2['default'], { name: 'Test variation' }, _react2['default'].createElement( 'div', null, 'Testing some text' ) ) )); tree = component.toJSON(); }); it('exists', function () { expect(component).not.toBeUndefined; }); it('has the correct text', function () { expect(tree).toMatchSnapshot(); expect(tree.children).toEqual(['Testing some text']); }); it('has the correct tagName', function () { expect(tree).toMatchSnapshot(); expect(tree.type).toEqual('div'); }); }); }); // eslint-disable-line no-unused-vars