UNPKG

wix-style-react

Version:
73 lines (66 loc) 2.22 kB
import ReactTestUtils from 'react-dom/test-utils'; import { dataAttr, dataHooks } from './Tag.helpers'; var tagDriverFactory = function tagDriverFactory(_ref) { var element = _ref.element; var getRemoveButton = function getRemoveButton() { return element.querySelector("[data-hook=\"".concat(dataHooks.removeButton, "\"]")); }; var getThumb = function getThumb() { return element.querySelector("[data-hook=\"".concat(dataHooks.thumb, "\"]")); }; var removeTag = function removeTag() { var removeButton = getRemoveButton(); if (removeButton) { ReactTestUtils.Simulate.click(removeButton); } }; return { exists: function exists() { return !!element; }, isTiny: function isTiny() { return element.getAttribute(dataAttr.SIZE) === 'tiny'; }, isSmall: function isSmall() { return element.getAttribute(dataAttr.SIZE) === 'small'; }, isMedium: function isMedium() { return element.getAttribute(dataAttr.SIZE) === 'medium'; }, isLarge: function isLarge() { return element.getAttribute(dataAttr.SIZE) === 'large'; }, isStandardTheme: function isStandardTheme() { return element.getAttribute(dataAttr.THEME) === 'standard'; }, isWarningTheme: function isWarningTheme() { return element.getAttribute(dataAttr.THEME) === 'warning'; }, isErrorTheme: function isErrorTheme() { return element.getAttribute(dataAttr.THEME) === 'error'; }, isDarkTheme: function isDarkTheme() { return element.getAttribute(dataAttr.THEME) === 'dark'; }, isSuccessTheme: function isSuccessTheme() { return element.getAttribute(dataAttr.THEME) === 'success'; }, isRemovable: function isRemovable() { return !!getRemoveButton(); }, removeTag: removeTag, click: function click() { return ReactTestUtils.Simulate.click(element); }, isThumbExists: function isThumbExists() { return !!getThumb(); }, isDisabled: function isDisabled() { return element.getAttribute(dataAttr.DISABLED) === 'true'; }, getLabel: function getLabel() { return element.textContent; } }; }; export default tagDriverFactory;