import React from 'react' import { Form } from 'react-final-form' import { StepTwoForm } from '../../../src/components/stepTwo/StepTwoForm' import renderer from 'react-test-renderer' import Adapter from 'enzyme-adapter-react-15' import { configure, mount } from 'enzyme' import CrowdsaleStore from '../../../src/stores/CrowdsaleStore' import { CROWDSALE_STRATEGIES } from '../../../src/utils/constants' configure({ adapter: new Adapter() }) jest.mock('react-dropzone', () => () => Dropzone) describe('StepTwoForm', () => { let crowdsaleStore beforeEach(() => { crowdsaleStore = new CrowdsaleStore() crowdsaleStore.setProperty('strategy', CROWDSALE_STRATEGIES.MINTED_CAPPED_CROWDSALE) }) it(`should render StepTwoForm for Minted Capped Crowdsale`, () => { const wrapper = renderer.create(
) expect(wrapper).toMatchSnapshot() }) it(`should render StepTwoForm for Dutch Auction Crowdsale`, () => { crowdsaleStore.setProperty('strategy', CROWDSALE_STRATEGIES.DUTCH_AUCTION) const wrapper = renderer.create( ) expect(wrapper).toMatchSnapshot() }) it('Should call onSubmit if all values are valid', () => { const onSubmit = jest.fn() const wrapper = mount( ) wrapper.simulate('submit') expect(onSubmit).toHaveBeenCalled() }) it('Should not call onSubmit if not all values are valid', () => { const onSubmit = jest.fn() const wrapper = mount( ) wrapper.simulate('submit') expect(onSubmit).toHaveBeenCalledTimes(0) }) it('Should call updateTokenStore after changing name value', () => { const updateTokenStore = jest.fn() const wrapper = mount( ) const decimals = wrapper.find('input[name="name"]') decimals.simulate('change', { target: { value: 'MyToken' } }) expect(updateTokenStore).toHaveBeenCalled() }) it('Should call updateTokenStore after changing ticker value', () => { const updateTokenStore = jest.fn() const wrapper = mount( ) const decimals = wrapper.find('input[name="ticker"]') decimals.simulate('change', { target: { value: 'MyToken' } }) expect(updateTokenStore).toHaveBeenCalled() }) it('Should call updateTokenStore after changing decimal value', () => { const updateTokenStore = jest.fn() const wrapper = mount( ) const decimals = wrapper.find('input[name="decimals"]') decimals.simulate('change', { target: { value: 'MTK' } }) expect(updateTokenStore).toHaveBeenCalled() }) })