import React from 'react' import { Form } from 'react-final-form' import { StepThreeFormMintedCapped } from '../../../src/components/StepThree/StepThreeFormMintedCapped' import { Provider } from 'mobx-react' import renderer from 'react-test-renderer' import Adapter from 'enzyme-adapter-react-15' import { configure, mount } from 'enzyme' import setFieldTouched from 'final-form-set-field-touched' import arrayMutators from 'final-form-arrays' import { GAS_PRICE } from '../../../src/utils/constants' import { crowdsaleStore, gasPriceStore, generalStore, reservedTokenStore, tierStore, tokenStore } from '../../../src/stores/index' import MockDate from 'mockdate' import { tierDurationUpdater } from '../../../src/components/StepThree/utils' configure({ adapter: new Adapter() }) jest.mock('react-dropzone', () => () => Dropzone) const currentTime = '2018-03-12T11:00:00' MockDate.set(currentTime) describe('StepThreeFormMintedCapped', () => { const stores = { crowdsaleStore, gasPriceStore, generalStore, reservedTokenStore, tierStore, tokenStore } const walletAddress = '0xAC7022d55dA6C8BB229b1Ba3Ce8A16724FF79c4A' beforeEach(() => { tierStore.addCrowdsale(walletAddress) generalStore.setGasTypeSelected(GAS_PRICE.SLOW) }) afterEach(() => { tierStore.reset() generalStore.reset() }) it(`should render StepThreeFormMintedCapped`, () => { // Given const component = renderer.create(
) // When const tree = component.toJSON() // Then expect(tree).toMatchSnapshot() }) it(`should add a tier after clicking 'AddTierButton'`, () => { // Given const wrapper = mount( ) // When wrapper.find('AddTierButton').simulate('click') // Then expect(tierStore.tiers).toHaveLength(2) }) it(`should update 2nd tier's start time, after changing 1st tier's end time`, () => { // Given tierStore.addCrowdsale() const calculator = tierDurationUpdater(tierStore.tiers) const wrapper = mount( ) const newEndTime = '2018-03-14T00:00' // When wrapper.find('input[name="tiers[0].endTime"]').simulate('change', { target: { value: newEndTime } }) wrapper.update() // Then expect(wrapper.find('input[name="tiers[1].startTime"]').props().value).toBe(newEndTime) }) })