From f322ce0727438ea3bdb980ce3e07fe6c98d3e593 Mon Sep 17 00:00:00 2001 From: diversemix <diversemix@gmail.com> Date: Tue, 1 May 2018 09:31:21 +0100 Subject: [PATCH] Fix and extend tests --- .../submission/AuthorDetails/AuthorDetails.js | 6 ++++-- .../submission/AuthorDetails/AuthorDetailsPage.js | 2 +- .../submission/AuthorDetails/AuthorDetailsSchema.js | 8 +++++--- test/submission.e2e.js | 10 +++++++++- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/components/submission/AuthorDetails/AuthorDetails.js b/app/components/submission/AuthorDetails/AuthorDetails.js index 9a271bc..60dc8de 100644 --- a/app/components/submission/AuthorDetails/AuthorDetails.js +++ b/app/components/submission/AuthorDetails/AuthorDetails.js @@ -20,7 +20,9 @@ class AuthorDetails extends React.Component { } get isAssigned() { - return this.props.values.assignee !== null + // On page load the assignee is undefined, if it is unassigned it + // becomes null, see closeAssigneeForm(). Hence the truthy comparison. + return this.props.values.assignee != null } openAssigneeForm() { @@ -118,7 +120,7 @@ const AssigneeForm = ({ handleClose }) => ( <ValidatedField label="Email" name="assignee.email" /> </Box> <Box width={1 / 2}> - <ValidatedField label="Institution" name="institution" /> + <ValidatedField label="Institution" name="assignee.institution" /> </Box> </Flex> </Box> diff --git a/app/components/submission/AuthorDetails/AuthorDetailsPage.js b/app/components/submission/AuthorDetails/AuthorDetailsPage.js index 5d90ad2..83e3b12 100644 --- a/app/components/submission/AuthorDetails/AuthorDetailsPage.js +++ b/app/components/submission/AuthorDetails/AuthorDetailsPage.js @@ -13,7 +13,7 @@ const GET_AUTHOR_DETAILS = gql` firstName lastName email - institute + institution assignee { firstName lastName diff --git a/app/components/submission/AuthorDetails/AuthorDetailsSchema.js b/app/components/submission/AuthorDetails/AuthorDetailsSchema.js index 2a33891..3700d9b 100644 --- a/app/components/submission/AuthorDetails/AuthorDetailsSchema.js +++ b/app/components/submission/AuthorDetails/AuthorDetailsSchema.js @@ -9,13 +9,13 @@ const email = () => .required('Email is required') .email('Must be a valid email address') -const institute = () => yup.string().required('Institute is required') +const institution = () => yup.string().required('Institution is required') const schema = yup.object().shape({ firstName: firstName(), lastName: lastName(), email: email(), - institute: institute(), + institution: institution(), assignee: yup .object() .nullable() @@ -23,6 +23,7 @@ const schema = yup.object().shape({ firstName: firstName(), lastName: lastName(), email: email(), + institution: institution(), }), }) @@ -31,7 +32,7 @@ const empty = { firstName: '', lastName: '', email: '', - institute: '', + institution: '', assignee: null, } @@ -40,6 +41,7 @@ const emptyAssignee = { firstName: '', lastName: '', email: '', + institution: '', } const clientStateConfig = { diff --git a/test/submission.e2e.js b/test/submission.e2e.js index 4da0e88..e27bcc7 100644 --- a/test/submission.e2e.js +++ b/test/submission.e2e.js @@ -41,7 +41,15 @@ test('Happy path', async t => { .typeText('[name=firstName]', 'Anne') .typeText('[name=lastName]', 'Author') .typeText('[name=email]', 'anne.author@life.ac.uk') - .typeText('[name=institute]', 'University of Life') + .typeText('[name=institution]', 'University of Life') + .click('[name=cbNotCorrespondingAuthor]') + + // assignee details + await t + .typeText('[name=assignee\\.firstName]', 'A') + .typeText('[name=assignee\\.lastName]', 'Signee') + .typeText('[name=assignee\\.email]', 'a.signee@knocks.ac.uk') + .typeText('[name=assignee\\.institution]', 'University of Hard Knocks') .click('[data-test-id=next]') // file uploads -- GitLab