Revision 8f2622f4
Added by Ondřej Pražák almost 6 years ago
webpack/assets/javascripts/react_app/redux/actions/common/forms.fixtures.js | ||
---|---|---|
url: '/api/resource',
|
||
item: 'Resource',
|
||
};
|
||
|
||
export const requestDataMsg = Object.assign({}, requestData, { message: 'Customized success!' });
|
webpack/assets/javascripts/react_app/redux/actions/common/forms.js | ||
---|---|---|
};
|
||
|
||
export const submitForm = ({
|
||
item, url, values, method = 'post',
|
||
item, url, values, message, method = 'post',
|
||
}) => {
|
||
verifyProps(item, values);
|
||
return dispatch =>
|
||
... | ... | |
dispatch(addToast({
|
||
type: 'success',
|
||
// eslint-disable-next-line no-undef
|
||
message: Jed.sprintf('%s was successfully created.', __(item)),
|
||
message: message || Jed.sprintf('%s was successfully created.', __(item)),
|
||
}));
|
||
})
|
||
.catch(onError);
|
webpack/assets/javascripts/react_app/redux/actions/common/forms.test.js | ||
---|---|---|
import { SubmissionError } from 'redux-form';
|
||
import configureMockStore from 'redux-mock-store';
|
||
import thunk from 'redux-thunk';
|
||
import { requestData } from './forms.fixtures';
|
||
import { requestData, requestDataMsg } from './forms.fixtures';
|
||
import * as types from '../../consts';
|
||
import { submitForm } from './forms';
|
||
import { mockRequest, mockReset } from '../../../mockRequests';
|
||
... | ... | |
expect(store.getActions()[1].type).toEqual(types.TOASTS_ADD);
|
||
});
|
||
});
|
||
it('on success display custom message', () => {
|
||
const store = mockStore({ resources: [] });
|
||
|
||
mockRequest({
|
||
...mockRequestData,
|
||
response: {
|
||
name: 'random',
|
||
id: 42,
|
||
},
|
||
});
|
||
|
||
return store
|
||
.dispatch(submitForm(requestDataMsg))
|
||
.then(() => {
|
||
expect(store.getActions()[1].payload.message.message).toEqual('Customized success!');
|
||
});
|
||
});
|
||
});
|
Also available in: Unified diff
Fixes #23062 - Add custom message on form submit