wix-style-react
Version:
84 lines (73 loc) • 2.53 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
var _Tag = require("./Tag.helpers");
var tagDriverFactory = function tagDriverFactory(_ref) {
var element = _ref.element;
var getRemoveButton = function getRemoveButton() {
return element.querySelector("[data-hook=\"".concat(_Tag.dataHooks.removeButton, "\"]"));
};
var getThumb = function getThumb() {
return element.querySelector("[data-hook=\"".concat(_Tag.dataHooks.thumb, "\"]"));
};
var removeTag = function removeTag() {
var removeButton = getRemoveButton();
if (removeButton) {
_testUtils["default"].Simulate.click(removeButton);
}
};
return {
exists: function exists() {
return !!element;
},
isTiny: function isTiny() {
return element.getAttribute(_Tag.dataAttr.SIZE) === 'tiny';
},
isSmall: function isSmall() {
return element.getAttribute(_Tag.dataAttr.SIZE) === 'small';
},
isMedium: function isMedium() {
return element.getAttribute(_Tag.dataAttr.SIZE) === 'medium';
},
isLarge: function isLarge() {
return element.getAttribute(_Tag.dataAttr.SIZE) === 'large';
},
isStandardTheme: function isStandardTheme() {
return element.getAttribute(_Tag.dataAttr.THEME) === 'standard';
},
isWarningTheme: function isWarningTheme() {
return element.getAttribute(_Tag.dataAttr.THEME) === 'warning';
},
isErrorTheme: function isErrorTheme() {
return element.getAttribute(_Tag.dataAttr.THEME) === 'error';
},
isDarkTheme: function isDarkTheme() {
return element.getAttribute(_Tag.dataAttr.THEME) === 'dark';
},
isSuccessTheme: function isSuccessTheme() {
return element.getAttribute(_Tag.dataAttr.THEME) === 'success';
},
isRemovable: function isRemovable() {
return !!getRemoveButton();
},
removeTag: removeTag,
click: function click() {
return _testUtils["default"].Simulate.click(element);
},
isThumbExists: function isThumbExists() {
return !!getThumb();
},
isDisabled: function isDisabled() {
return element.getAttribute(_Tag.dataAttr.DISABLED) === 'true';
},
getLabel: function getLabel() {
return element.textContent;
}
};
};
var _default = tagDriverFactory;
exports["default"] = _default;