wix-style-react
Version:
wix-style-react
131 lines (102 loc) • 4.29 kB
JavaScript
;
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);
});
});
});