wix-style-react
Version:
105 lines (81 loc) • 2.78 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 _Text = _interopRequireDefault(require("../Text/Text.driver"));
var _Tooltip = require("wix-ui-core/dist/src/components/tooltip/Tooltip.driver");
var _constants = require("./constants");
var addItemDriverFactory = function addItemDriverFactory(_ref) {
var element = _ref.element,
eventTrigger = _ref.eventTrigger;
var byHook = function byHook(hook) {
return element.querySelector("[data-hook*=\"".concat(hook, "\"]"));
};
var tooltipTestkit = (0, _Tooltip.tooltipDriverFactory)({
element: element,
eventTrigger: eventTrigger
});
var textDriver = function textDriver() {
return (0, _Text["default"])({
element: byHook(_constants.dataHooks.itemText)
});
};
var subtitleTextDriver = function subtitleTextDriver() {
return (0, _Text["default"])({
element: byHook(_constants.dataHooks.itemSubtitle)
});
};
var baseElement = element.querySelector("[data-hook=\"".concat(_constants.dataHooks.addItem, "\"]"));
return {
/** returns true if element in the DOM */
exists: function exists() {
return !!baseElement;
},
/** returns the driver element */
element: function element() {
return baseElement;
},
/** returns value of action text */
getText: function getText() {
return textDriver().getText();
},
/** true if passed children in string exists */
textExists: function textExists() {
return textDriver().exists();
},
/** returns value of tooltip content */
getTooltipContent: function getTooltipContent() {
tooltipTestkit.mouseEnter();
var text = tooltipTestkit.getContentElement().textContent;
tooltipTestkit.mouseLeave();
return text;
},
/** clicks on element */
click: function click() {
return eventTrigger.click(baseElement);
},
/** returns value of subtitle */
getSubtitle: function getSubtitle() {
return subtitleTextDriver().getText();
},
/** returns true if element is focused */
isFocused: function isFocused() {
return document.activeElement === baseElement;
},
/** sets focus on the element */
focus: function focus() {
baseElement.focus();
_testUtils["default"].Simulate.focus(baseElement);
},
/** removes focus on the element */
blur: function blur() {
baseElement.blur();
_testUtils["default"].Simulate.blur(baseElement);
}
};
};
var _default = addItemDriverFactory;
exports["default"] = _default;