wix-style-react
Version:
wix-style-react
70 lines (63 loc) • 2.07 kB
JavaScript
import ReactTestUtils from 'react-dom/test-utils';
import { isClassExists } from '../../test/utils';
import { testkitFactoryCreator } from 'wix-ui-test-utils/vanilla';
import buttonDriverFactory from '../Backoffice/Button/Button.driver';
import { dataHooks } from './Tag.helpers';
var buttonTestkitFactory = testkitFactoryCreator(buttonDriverFactory);
var getThumb = function getThumb(element) {
return element.querySelector('span');
};
var getRemoveButtonDriver = function getRemoveButtonDriver(element) {
return buttonTestkitFactory({
wrapper: element,
dataHook: dataHooks.removeButton
});
};
var tagDriverFactory = function tagDriverFactory(_ref) {
var element = _ref.element;
return {
exists: function exists() {
return !!element;
},
isTiny: function isTiny() {
return isClassExists(element, 'tinySize');
},
isSmall: function isSmall() {
return isClassExists(element, 'smallSize');
},
isMedium: function isMedium() {
return isClassExists(element, 'mediumSize');
},
isLarge: function isLarge() {
return isClassExists(element, 'largeSize');
},
isStandardTheme: function isStandardTheme() {
return isClassExists(element, 'standardTheme');
},
isWarningTheme: function isWarningTheme() {
return isClassExists(element, 'warningTheme');
},
isErrorTheme: function isErrorTheme() {
return isClassExists(element, 'errorTheme');
},
isRemovable: function isRemovable() {
return getRemoveButtonDriver(element).exists();
},
removeTag: function removeTag() {
return getRemoveButtonDriver(element).click();
},
click: function click() {
return ReactTestUtils.Simulate.click(element);
},
isThumbExists: function isThumbExists() {
return isClassExists(getThumb(element), 'thumb');
},
isDisabled: function isDisabled() {
return isClassExists(element, 'disabled');
},
getLabel: function getLabel() {
return element.textContent;
}
};
};
export default tagDriverFactory;