UNPKG

wix-style-react

Version:
58 lines (54 loc) 1.86 kB
import ReactTestUtils from 'react-dom/test-utils'; import { isClassExists } from '../../../test/utils'; var tooltipDriverFactory = function tooltipDriverFactory(_ref) { var element = _ref.element, wrapper = _ref.wrapper; var target = element.querySelector("[data-hook='target']").children[0]; var tooltipInner = element.querySelector("[data-hook='tooltip-inner']"); var tooltipContent = tooltipInner.querySelector("[data-hook='tooltip-content']"); return { isShown: function isShown() { return isClassExists(tooltipInner, 'active'); }, focus: function focus() { return ReactTestUtils.Simulate.focus(target); }, blur: function blur() { return ReactTestUtils.Simulate.blur(target); }, click: function click() { return ReactTestUtils.Simulate.click(target); }, mouseEnter: function mouseEnter() { return ReactTestUtils.Simulate.mouseEnter(target); }, mouseLeave: function mouseLeave() { return ReactTestUtils.Simulate.mouseLeave(target); }, hasErrorTheme: function hasErrorTheme() { return !!wrapper.querySelector('.error'); }, hasDarkTheme: function hasDarkTheme() { return !!wrapper.querySelector('.dark'); }, hasLightTheme: function hasLightTheme() { return !!wrapper.querySelector('.light'); }, getTooltipWrapper: function getTooltipWrapper() { return wrapper.querySelector("[data-hook='tooltip']"); }, getChildren: function getChildren() { return element.innerHTML; }, getPlacement: function getPlacement() { return tooltipInner.getAttribute('class').split(' ')[2]; }, getContent: function getContent() { return tooltipContent.innerHTML; }, getWrapper: function getWrapper() { return wrapper; } }; }; export default tooltipDriverFactory;