import React from 'react'; import Select from 'react-select'; import { shallow } from 'enzyme'; import { describe, it } from 'mocha'; import { expect } from 'chai'; import sinon from 'sinon'; import AsyncSelect from '../../../javascripts/components/AsyncSelect'; describe('AsyncSelect', () => { const mockedProps = { dataEndpoint: '/slicemodelview/api/read', onChange: sinon.spy(), mutator: () => {}, }; it('is valid element', () => { expect( React.isValidElement(), ).to.equal(true); }); it('has one select', () => { const wrapper = shallow( , ); expect(wrapper.find(Select)).to.have.length(1); }); it('calls onChange on select change', () => { const wrapper = shallow( , ); wrapper.find(Select).simulate('change', { value: 1 }); expect(mockedProps.onChange).to.have.property('callCount', 1); }); });