UNPKG

wix-style-react

Version:
98 lines (78 loc) 3.37 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.baseModalLayoutDriverFactory = void 0; var _ButtonLegacy = _interopRequireDefault(require("../Button/Button.legacy.driver")); var _constants = require("./constants"); var _utils = require("../../test/utils"); var _testUtils = _interopRequireDefault(require("react-dom/test-utils")); var _Tooltip = require("wix-ui-core/dist/src/components/tooltip/Tooltip.driver"); var fDataHooks = (0, _utils.getFormattedDataHooks)(_constants.dataHooks); var baseModalLayoutDriverFactory = function baseModalLayoutDriverFactory(_ref) { var element = _ref.element, eventTrigger = _ref.eventTrigger; var getButtonDriver = function getButtonDriver(dataHook) { return (0, _ButtonLegacy["default"])({ element: element.querySelector("[data-hook=\"".concat(dataHook, "\"]")) }); }; var tooltipTestkit = (0, _Tooltip.tooltipDriverFactory)({ element: element.querySelector(fDataHooks.primaryButtonTooltip), eventTrigger: eventTrigger }); return { exists: function exists() { return !!element; }, _hasClass: function _hasClass(className) { return (0, _utils.isClassExists)(element, className); }, _closeButtonExists: function _closeButtonExists() { return !!element.querySelector(fDataHooks.closeButton); }, _helpButtonExists: function _helpButtonExists() { return !!element.querySelector(fDataHooks.helpButton); }, /** Returns the modal theme */ getTheme: function getTheme() { return element.getAttribute('data-theme'); }, /** Click the modal close-button */ clickCloseButton: function clickCloseButton() { return _testUtils["default"].Simulate.click(element.querySelector(fDataHooks.closeButton)); }, clickHelpButton: function clickHelpButton() { return _testUtils["default"].Simulate.click(element.querySelector(fDataHooks.helpButton)); }, /** Checks that a node with the provided dataHook exists */ childExists: function childExists(dataHook) { return !!element.querySelector("[data-hook=\"".concat(dataHook, "\"]")); }, /** Get the title's text */ getTitleText: function getTitleText() { return element.querySelector(fDataHooks.headerTitle).textContent; }, /** Get the subtitle's text */ getSubtitleText: function getSubtitleText() { return element.querySelector(fDataHooks.headerSubtitle).textContent; }, /** Return the secondary button driver*/ getSecondaryButtonDriver: function getSecondaryButtonDriver() { return getButtonDriver(_constants.dataHooks.footerSecondaryButton); }, /** Return the secondary button driver */ getPrimaryButtonDriver: function getPrimaryButtonDriver() { return getButtonDriver(_constants.dataHooks.footerPrimaryButton); }, /** Return the primary button tooltip's content */ getPrimaryButtonTooltipContent: function getPrimaryButtonTooltipContent() { return tooltipTestkit.getTooltipText(); }, getIllustrationSrc: function getIllustrationSrc() { return element.querySelector(fDataHooks.illustrationSrc).getAttribute('src'); } }; }; exports.baseModalLayoutDriverFactory = baseModalLayoutDriverFactory;