/* eslint-env jest */ import * as React from 'react' // import renderer from 'react-test-renderer' import { shallow } from 'enzyme' import Role from '../index' import 'jest-styled-components' describe('', () => { it('renders correctly', () => { const role = shallow() expect(role).toMatchSnapshot() }) it('triggers onToggle with new state', () => { let changed = false const role = shallow( { changed = next }} active={false} /> ) role.simulate('click') expect(changed).toBe(true) const role2 = shallow( { changed = next }} active /> ) role2.simulate('click') expect(changed).toBe(false) }) it('fixes colors when they are not set', () => { const role = shallow() expect(role.props().style['--role-color-base']).toEqual('hsl(0, 0%, 93.7%)') }) it('has a single space for a name when empty', () => { const role = shallow() expect(role.text()).toEqual(' ') }) describe('when disabled,', () => { it('handles touch hover events', () => { const role = shallow() role.simulate('touchstart') expect(role.state().hovering).toEqual(true) expect(role).toMatchSnapshot() // expecting tooltip expect(role.exists('tooltip')).toEqual(true) role.simulate('touchend') expect(role.state().hovering).toEqual(false) }) it('does not trigger onToggle on click', () => { let changed = false const role = shallow( { changed = true }} active={changed} disabled /> ) expect(role).toMatchSnapshot() role.simulate('click') expect(role.html()).toBe(role.html()) expect(changed).toBe(false) }) }) })