diff --git a/packages/component-wizard/src/components/WizardFormStep.js b/packages/component-wizard/src/components/WizardFormStep.js index b73c90c7f32df09b261eb4bbae8794452eff19e5..3e8c0a020bc413beaf229c50ba36cabe3359d536 100644 --- a/packages/component-wizard/src/components/WizardFormStep.js +++ b/packages/component-wizard/src/components/WizardFormStep.js @@ -8,6 +8,7 @@ import { reduxForm, formValueSelector, SubmissionError } from 'redux-form' import WizardStep from './WizardStep' import { autosaveRequest } from '../redux/autosave' +let cachedVersion = '' const wizardSelector = formValueSelector('wizard') const onChange = ( @@ -19,7 +20,8 @@ const onChange = ( const prev = pick(prevValues, formSectionKeys) const newValues = pick(values, formSectionKeys) // TODO: fix this if it sucks down the road - if (!isEqual(prev, newValues)) { + if (!isEqual(prev, newValues) && cachedVersion !== version.rev) { + cachedVersion = version.rev dispatch(autosaveRequest()) dispatch( actions.updateFragment(project, { diff --git a/packages/component-wizard/src/components/WizardStep.js b/packages/component-wizard/src/components/WizardStep.js index 5f278fd1b22b41a7df7757a26a7aea03b42e8306..74f64b1a053dc3ecc278e5e554582753639b2b28 100644 --- a/packages/component-wizard/src/components/WizardStep.js +++ b/packages/component-wizard/src/components/WizardStep.js @@ -52,7 +52,9 @@ export default ({ return ( <ValidatedField component={input => ( - <Comp {...rest} {...input} {...dispatchFns} /> + <div data-test={fieldId}> + <Comp {...rest} {...input} {...dispatchFns} />{' '} + </div> )} format={format} key={fieldId} @@ -64,12 +66,15 @@ export default ({ }, )} <ButtonContainer> - <Button onClick={isFirst ? () => history.push('/') : prevStep}> + <Button + data-test="button-prev" + onClick={isFirst ? () => history.push('/') : prevStep} + > {isFirst ? `${wizard.cancelText || 'Cancel'}` : `${wizard.backText || 'Back'}`} </Button> - <Button primary type="submit"> + <Button data-test="button-next" primary type="submit"> {isFinal ? `${wizard.submitText || 'Submit Manuscript'}` : `${wizard.nextText || 'Next'}`} diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index b2e9a80b984e317a71f6417d2151cc3b26efcbe3..d609c746c5ef4b87d24acef2dfa036727ea9bbe6 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -27,7 +27,11 @@ const Dashboard = ({ <Header> <Heading>Manuscripts</Heading> <HeaderButtons> - <Button onClick={createDraftSubmission} primary> + <Button + data-test="new-manuscript" + onClick={createDraftSubmission} + primary + > New </Button> </HeaderButtons> diff --git a/packages/components-faraday/src/components/Files/Files.js b/packages/components-faraday/src/components/Files/Files.js index 74f2a1b6fc05594dc2bf4da7c190d405f346e311..2ba71f3dac6f64cdff9a005e609568e44b4ec544 100644 --- a/packages/components-faraday/src/components/Files/Files.js +++ b/packages/components-faraday/src/components/Files/Files.js @@ -189,7 +189,7 @@ export default compose( ...files, [type]: files[type].filter(f => f.id !== id), } - setFiles(newFiles, type) + setFiles(newFiles) changeForm('wizard', 'files', files) }, }),