UNPKG

wix-style-react

Version:
105 lines (81 loc) 2.78 kB
"use strict"; 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;