diff --git a/src/__tests__/reducer.setSubmitSuceeded.spec.js b/src/__tests__/reducer.setSubmitSuceeded.spec.js index 332f17aa4..2c90a4b80 100644 --- a/src/__tests__/reducer.setSubmitSuceeded.spec.js +++ b/src/__tests__/reducer.setSubmitSuceeded.spec.js @@ -31,7 +31,8 @@ const describeSetSubmitSucceeded = (reducer, expect, { fromJS }) => () => { foo: { doesnt: 'matter', should: 'change', - submitSucceeded: true + submitSucceeded: true, + submitting: true } }) }) @@ -50,7 +51,8 @@ const describeSetSubmitSucceeded = (reducer, expect, { fromJS }) => () => { foo: { doesnt: 'matter', should: 'notchange', - submitSucceeded: true + submitSucceeded: true, + submitting: true } }) }) diff --git a/src/__tests__/reduxForm.spec.js b/src/__tests__/reduxForm.spec.js index 9fe80f591..fec885491 100644 --- a/src/__tests__/reduxForm.spec.js +++ b/src/__tests__/reduxForm.spec.js @@ -10,6 +10,7 @@ import createReducer from '../reducer' import createReduxForm from '../reduxForm' import createField from '../Field' import createFieldArray from '../FieldArray' +import { startSubmit } from '../actions'; import plain from '../structure/plain' import plainExpectations from '../structure/plain/expectations' import immutable from '../structure/immutable' @@ -2746,6 +2747,111 @@ const describeReduxForm = (name, structure, combineReducers, expect) => { expect(inputRender.calls.length).toBe(3) expect(inputRender.calls[ 2 ].arguments[ 0 ].input.value).toBe('fooChanged') }) + it('startSubmit in onSubmit promise', () => { + const store = makeStore({}) + class Form extends Component { + render() { + const { handleSubmit } = this.props; + return ( +
+ ) + } + } + const resolvedProm = Promise.resolve(); + const Decorated = reduxForm({ + form: 'testForm', + destroyOnUnmount: false, + onSubmit(data, dispatch) { + dispatch(startSubmit('testForm')); + + return resolvedProm; + } + })(Form) + + const dom = TestUtils.renderIntoDocument( +