import React from 'react'; import { mount } from 'enzyme'; import Tooltip from '../../src/components/Tooltip'; describe('', () => { let elem; let content; let mouseOverHandler; let mouseOutHandler; test('initially renders without crashing', () => { elem = mount(); expect(elem.length).toBe(1); }); test('shows/hides with mouse over and leave', () => { elem = mount(); mouseOverHandler = elem.find('.mouseOverHandler'); mouseOutHandler = elem.find('.mouseOutHandler'); expect(elem.state().isDisplayed).toBe(false); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(0); mouseOverHandler.props().onMouseOver(); expect(elem.state().isDisplayed).toBe(true); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(1); mouseOutHandler.props().onMouseLeave(); expect(elem.state().isDisplayed).toBe(false); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(0); }); test('shows/hides with focus and blur', () => { elem = mount(); mouseOverHandler = elem.find('.mouseOverHandler'); mouseOutHandler = elem.find('.mouseOutHandler'); expect(elem.state().isDisplayed).toBe(false); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(0); mouseOverHandler.props().onFocus(); expect(elem.state().isDisplayed).toBe(true); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(1); mouseOutHandler.props().onBlur(); expect(elem.state().isDisplayed).toBe(false); elem.update(); content = elem.find('.pf-c-tooltip__content'); expect(content.length).toBe(0); }); });