wix-style-react
Version:
wix-style-react
68 lines (61 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _testUtils = require('react-dom/test-utils');
var _testUtils2 = _interopRequireDefault(_testUtils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var modalDriverFactory = function modalDriverFactory(_ref) {
var _element = _ref.element;
var getPortal = function getPortal() {
return document.body.querySelector('.portal');
};
var getOverlay = function getOverlay() {
return document.body.querySelector('.ReactModal__Overlay');
};
var getContent = function getContent() {
return document.body.querySelector('.ReactModal__Content');
};
var isOpen = function isOpen() {
return !!getContent();
};
var getCloseButton = function getCloseButton() {
return document.body.querySelector('[data-hook="modal-close-button"]');
};
return {
exists: function exists() {
return !!getPortal();
},
element: function element() {
return _element;
},
isOpen: isOpen,
isThemeExist: function isThemeExist(theme) {
return !!getPortal().querySelector('.' + theme);
},
getChildBySelector: function getChildBySelector(selector) {
return getPortal().querySelector(selector);
},
isScrollable: function isScrollable() {
return !getPortal().classList.contains('portalNonScrollable');
},
closeButtonExists: function closeButtonExists() {
return !!getCloseButton();
},
clickOnOverlay: function clickOnOverlay() {
var overlay = getOverlay();
_testUtils2.default.Simulate.click(overlay);
},
clickOnCloseButton: function clickOnCloseButton() {
var button = getCloseButton();
_testUtils2.default.Simulate.click(button);
},
getContentStyle: function getContentStyle() {
return getContent().style;
},
getContentLabel: function getContentLabel() {
return getContent().getAttribute('aria-label');
}
};
};
exports.default = modalDriverFactory;