import React from 'react'; import expect, { createSpy, restoreSpies } from 'expect'; import { mount } from 'enzyme'; import { noop } from 'lodash'; import { hostStub, labelStub } from 'test/stubs'; import TargetOption from './TargetOption'; describe('TargetOption - component', () => { afterEach(restoreSpies); it('renders a label option for label targets', () => { const count = 5; const component = mount(); expect(component.find('.--is-label').length).toEqual(1); expect(component.text()).toContain(`${count} hosts`); }); it('renders a host option for host targets', () => { const component = mount(); expect(component.find('.--is-host').length).toEqual(1); expect(component.find('i.kolidecon-windows').length).toEqual(1); expect(component.text()).toContain(hostStub.host_ip_address); }); it('calls the onSelect prop when + icon button is clicked', () => { const onSelectSpy = createSpy(); const component = mount( ); component.find('.target-option__add-btn').simulate('click'); expect(onSelectSpy).toHaveBeenCalled(); }); it('calls the onMoreInfoClick prop when the item content is clicked', () => { const onMoreInfoClickSpy = createSpy(); const onMoreInfoClick = () => { return onMoreInfoClickSpy; }; const component = mount( ); component.find('.target-option__target-content').simulate('click'); expect(onMoreInfoClickSpy).toHaveBeenCalled(); }); });