UNPKG

wix-style-react

Version:
58 lines (55 loc) 1.8 kB
import ReactTestUtils from 'react-dom/test-utils'; 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(); ReactTestUtils.Simulate.click(overlay); }, clickOnCloseButton: function clickOnCloseButton() { var button = getCloseButton(); ReactTestUtils.Simulate.click(button); }, getContentStyle: function getContentStyle() { return getContent().style; }, getContentLabel: function getContentLabel() { return getContent().getAttribute('aria-label'); } }; }; export default modalDriverFactory;