UNPKG

wix-style-react

Version:
81 lines (71 loc) 3 kB
import buttonDriverFactory from '../Button/Button.legacy.driver'; import { dataHooks } from './constants'; import { getFormattedDataHooks, isClassExists } from '../../test/utils'; import ReactTestUtils from 'react-dom/test-utils'; import { tooltipDriverFactory } from "wix-ui-core/dist/es/src/components/tooltip/Tooltip.driver"; var fDataHooks = getFormattedDataHooks(dataHooks); export var baseModalLayoutDriverFactory = function baseModalLayoutDriverFactory(_ref) { var element = _ref.element, eventTrigger = _ref.eventTrigger; var getButtonDriver = function getButtonDriver(dataHook) { return buttonDriverFactory({ element: element.querySelector("[data-hook=\"".concat(dataHook, "\"]")) }); }; var tooltipTestkit = tooltipDriverFactory({ element: element.querySelector(fDataHooks.primaryButtonTooltip), eventTrigger: eventTrigger }); return { exists: function exists() { return !!element; }, _hasClass: function _hasClass(className) { return 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 ReactTestUtils.Simulate.click(element.querySelector(fDataHooks.closeButton)); }, clickHelpButton: function clickHelpButton() { return ReactTestUtils.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(dataHooks.footerSecondaryButton); }, /** Return the secondary button driver */ getPrimaryButtonDriver: function getPrimaryButtonDriver() { return getButtonDriver(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'); } }; };