UNPKG

wix-style-react

Version:
131 lines (102 loc) 4.29 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _SectionHelper = require('./SectionHelper.driver'); var _SectionHelper2 = _interopRequireDefault(_SectionHelper); var _driverFactory = require('wix-ui-test-utils/driver-factory'); var _ = require('.'); var _2 = _interopRequireDefault(_); var _testkit = require('../../testkit'); var _enzyme = require('../../testkit/enzyme'); var _testkitSanity = require('../../test/utils/testkit-sanity'); var _enzyme2 = require('enzyme'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var renderWithProps = function renderWithProps() { var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _react2.default.createElement( _2.default, properties, properties.children || _react2.default.createElement( 'div', null, 'Hello, World!' ) ); }; describe('SectionHelper', function () { var createDriver = (0, _driverFactory.createDriverFactory)(_SectionHelper2.default); it('should render', function () { var driver = createDriver(renderWithProps()); expect(driver.exists()).toBeTruthy(); }); it('should render children', function () { var driver = createDriver(renderWithProps({ children: 'Muffins are the best!' })); expect(driver.textContent()).toEqual('Muffins are the best!'); }); it('should render title', function () { var driver = createDriver(renderWithProps({ title: 'Muffins are the best!' })); expect(driver.titleText()).toEqual('Muffins are the best!'); }); describe('given `actionText` & `onAction` props', function () { it('should render button', function () { var driver = createDriver(renderWithProps({ actionText: 'Muffins are the best!', onAction: function onAction() { return null; } })); expect(driver.actionText()).toEqual('Muffins are the best!'); }); it('should call `onAction` when clicked', function () { var onAction = jest.fn(); var driver = createDriver(renderWithProps({ onAction: onAction, actionText: 'hello' })); driver.clickAction(); expect(onAction).toBeCalled(); }); }); describe('close button', function () { it('should call `onClose` when close btn clicked', function () { var onClose = jest.fn(); var driver = createDriver(renderWithProps({ onClose: onClose })); driver.clickClose(); expect(driver.isCloseButtonDisplayed()).toBeTruthy(); expect(onClose).toBeCalled(); }); it('should not display the close button on demand', function () { var driver = createDriver(renderWithProps({ showCloseButton: false })); expect(driver.isCloseButtonDisplayed()).toBeFalsy(); }); }); describe('Themes', function () { it('should support standard theme by default', function () { var driver = createDriver(renderWithProps()); expect(driver.isWarning()).toBeTruthy(); }); it('should support standard theme', function () { var driver = createDriver(renderWithProps({ appearance: 'standard' })); expect(driver.isStandard()).toBeTruthy(); }); it('should support danger theme', function () { var driver = createDriver(renderWithProps({ appearance: 'danger' })); expect(driver.isDanger()).toBeTruthy(); }); it('should support success theme', function () { var driver = createDriver(renderWithProps({ appearance: 'success' })); expect(driver.isSuccess()).toBeTruthy(); }); it('should support premium theme', function () { var driver = createDriver(renderWithProps({ appearance: 'premium' })); expect(driver.isPremium()).toBeTruthy(); }); }); describe('testkit', function () { it('should exist', function () { expect((0, _testkitSanity.isTestkitExists)(_react2.default.createElement(_2.default, null), _testkit.sectionHelperTestkitFactory)).toBe(true); }); }); describe('enzyme testkit', function () { it('should exist', function () { expect((0, _testkitSanity.isEnzymeTestkitExists)(_react2.default.createElement(_2.default, null), _enzyme.sectionHelperTestkitFactory, _enzyme2.mount)).toBe(true); }); }); });