wix-style-react
Version:
wix-style-react
150 lines (119 loc) • 5.61 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _FieldWithSelectionComposite = require('./FieldWithSelectionComposite');
var _FieldWithSelectionComposite2 = _interopRequireDefault(_FieldWithSelectionComposite);
var _Label = require('../../Label');
var _Label2 = _interopRequireDefault(_Label);
var _Input = require('../../Input');
var _Input2 = _interopRequireDefault(_Input);
var _InputArea = require('../../InputArea');
var _InputArea2 = _interopRequireDefault(_InputArea);
var _Checkbox = require('../../Checkbox');
var _Checkbox2 = _interopRequireDefault(_Checkbox);
var _FieldWithSelectionComposite3 = require('./FieldWithSelectionComposite.driver');
var _FieldWithSelectionComposite4 = _interopRequireDefault(_FieldWithSelectionComposite3);
var _driverFactory = require('wix-ui-test-utils/driver-factory');
var _Tooltip = require('../../Tooltip/Tooltip');
var _Tooltip2 = _interopRequireDefault(_Tooltip);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('FieldWithSelectionComposite', function () {
var createCompositeDriverFactory = (0, _driverFactory.createDriverFactory)(_FieldWithSelectionComposite4.default);
it('should remove label wrapping when label not given', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
null,
_react2.default.createElement(_Input2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasLabel()).toBe(false);
expect(driver.getNumberOfChildren()).toBe(1);
expect(driver.hasInput()).toBe(true);
expect(driver.hasSelectionInput()).toBe(true);
});
it('should render Label with Input', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
null,
_react2.default.createElement(
_Label2.default,
null,
'myLabel'
),
_react2.default.createElement(_Input2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasLabel()).toBe(true);
expect(driver.getLabel()).toBe('myLabel');
expect(driver.hasInput()).toBe(true);
expect(driver.hasSelectionInput()).toBe(true);
});
it('should render Label with InputArea', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
null,
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_InputArea2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasLabel()).toBe(true);
expect(driver.hasInput()).toBe(true);
expect(driver.hasSelectionInput()).toBe(true);
});
describe('input properties', function () {
it('should verify that onBlur callback was called', function () {
var onBlur = jest.fn();
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
null,
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_Input2.default, { onBlur: onBlur }),
_react2.default.createElement(_Checkbox2.default, null)
));
driver.triggerInputBlur();
expect(onBlur).toHaveBeenCalled();
});
});
describe('label attributes', function () {
it('should FieldLabelAttributes not exists if all attributes empty or false', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
null,
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_InputArea2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasFieldLabelAttributes()).toBe(false);
});
it('should FieldLabelAttributes exists if required', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
{ required: true },
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_InputArea2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasFieldLabelAttributes()).toBe(true);
});
it('should FieldLabelAttributes exists if info', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
{ info: 'info' },
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_InputArea2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasFieldLabelAttributes()).toBe(true);
});
it('should FieldLabelAttributes exists if tooltip', function () {
var driver = createCompositeDriverFactory(_react2.default.createElement(
_FieldWithSelectionComposite2.default,
{ tooltip: _react2.default.createElement(_Tooltip2.default, { content: 'content' }) },
_react2.default.createElement(_Label2.default, null),
_react2.default.createElement(_InputArea2.default, null),
_react2.default.createElement(_Checkbox2.default, null)
));
expect(driver.hasFieldLabelAttributes()).toBe(true);
});
});
});