wix-style-react
Version:
98 lines (78 loc) • 3.37 kB
JavaScript
;
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;