import { mount } from 'enzyme'; import React from 'react'; import { CopyToClipboard } from './CopyToClipboard'; import { logger } from '../Logger'; describe('', () => { beforeEach(() => spyOn(logger, 'log')); it('renders an input with the text value', () => { const wrapper = mount(); const input = wrapper.find('textarea'); expect(input.get(0).props.value).toEqual('Rebel Girl'); }); it('Mouseover/click triggers overlay with toolTip', () => { const wrapper = mount(); const button = wrapper.find('button'); button.simulate('mouseOver'); // Grab the overlay from document by generated ID const overlay = document.getElementById('clipboardValue-Rebel-Girl'); expect(overlay.innerText).toEqual('Copy Rebel Girl'); }); it('Shows tooltip when button clicked, even if no default tooltip configured', () => { const wrapper = mount(); const button = wrapper.find('button'); button.simulate('mouseOver'); // Grab the overlay from document by generated ID let overlay = document.getElementById('clipboardValue-No-Tooltip'); expect(overlay).toBeFalsy(); button.simulate('click'); overlay = document.getElementById('clipboardValue-No-Tooltip'); expect(overlay.innerText).toEqual('Copied!'); }); it('fires a GA event on click', () => { const wrapper = mount(); const button = wrapper.find('button'); button.simulate('click'); expect(logger.log).toHaveBeenCalled(); }); });