From ffcb9c3816cf02eed59514bdb2254fc8f87b1837 Mon Sep 17 00:00:00 2001
From: Daniel Sandu <daniel.sandu@thinslices.com>
Date: Fri, 19 Oct 2018 13:11:03 +0300
Subject: [PATCH] feat: Add data-test-id's for automation testing

---
 .../src/InviteReviewers.js                    |  4 +++
 .../src/contextualBoxes/ReviewerDetails.js    |  3 ++
 .../src/contextualBoxes/ReviewerReportForm.js | 36 +++++++++++++++----
 .../manuscriptDetails/ResponseToInvitation.js |  2 +-
 .../components/Dashboard/DashboardFilters.js  | 23 +++++++-----
 5 files changed, 51 insertions(+), 17 deletions(-)

diff --git a/packages/component-faraday-ui/src/InviteReviewers.js b/packages/component-faraday-ui/src/InviteReviewers.js
index cfbafc866..7c93ebb31 100644
--- a/packages/component-faraday-ui/src/InviteReviewers.js
+++ b/packages/component-faraday-ui/src/InviteReviewers.js
@@ -46,6 +46,7 @@ const InviteReviewers = ({ countries, handleSubmit, reset }) => (
         <Label required>Email</Label>
         <ValidatedField
           component={TextField}
+          data-test-id="invite-reviewer-email"
           name="email"
           validate={[required, validators.emailValidator]}
         />
@@ -54,6 +55,7 @@ const InviteReviewers = ({ countries, handleSubmit, reset }) => (
         <Label required>First Name</Label>
         <ValidatedField
           component={TextField}
+          data-test-id="invite-reviewer-first-name"
           name="firstName"
           validate={[required]}
         />
@@ -62,6 +64,7 @@ const InviteReviewers = ({ countries, handleSubmit, reset }) => (
         <Label required>Last Name</Label>
         <ValidatedField
           component={TextField}
+          data-test-id="invite-reviewer-last-name"
           name="lastName"
           validate={[required]}
         />
@@ -70,6 +73,7 @@ const InviteReviewers = ({ countries, handleSubmit, reset }) => (
         <Label required>Affiliation</Label>
         <ValidatedField
           component={TextField}
+          data-test-id="invite-reviewer-affiliation"
           name="affiliation"
           validate={[required]}
         />
diff --git a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
index 8e242820b..232c27980 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
@@ -57,6 +57,7 @@ const ReviewerDetails = ({
           <Fragment>
             <TabsHeader>
               <TabButton
+                data-test-id="reviewer-tab-details"
                 ml={1}
                 mr={1}
                 onClick={() => changeTab(0)}
@@ -66,6 +67,7 @@ const ReviewerDetails = ({
               </TabButton>
               {canInviteReviewers && (
                 <TabButton
+                  data-test-id="reviewer-tab-suggestions"
                   ml={1}
                   mr={1}
                   onClick={() => changeTab(2)}
@@ -75,6 +77,7 @@ const ReviewerDetails = ({
                 </TabButton>
               )}
               <TabButton
+                data-test-id="reviewer-tab-reports"
                 ml={1}
                 mr={1}
                 onClick={() => changeTab(1)}
diff --git a/packages/component-faraday-ui/src/contextualBoxes/ReviewerReportForm.js b/packages/component-faraday-ui/src/contextualBoxes/ReviewerReportForm.js
index cd568ff1c..7e98eef25 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/ReviewerReportForm.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/ReviewerReportForm.js
@@ -43,7 +43,11 @@ const ReviewerReportForm = ({
   >
     <Root>
       <Row justify="flex-start">
-        <ItemOverrideAlert flex={0} vertical>
+        <ItemOverrideAlert
+          data-test-id="form-report-recommendation"
+          flex={0}
+          vertical
+        >
           <Label required>Recommendation</Label>
           <ValidatedField
             component={input => <Menu {...input} options={recommendations} />}
@@ -53,7 +57,12 @@ const ReviewerReportForm = ({
         </ItemOverrideAlert>
       </Row>
 
-      <Row alignItems="center" justify="space-between" mt={1}>
+      <Row
+        alignItems="center"
+        data-test-id="form-report-upload-file"
+        justify="space-between"
+        mt={1}
+      >
         <Item>
           <Label required>Your report</Label>
           {!formValues.file && (
@@ -71,7 +80,7 @@ const ReviewerReportForm = ({
       </Row>
 
       <Row mb={1 / 2}>
-        <ItemOverrideAlert vertical>
+        <ItemOverrideAlert data-test-id="form-report-textarea" vertical>
           <ValidatedField component={Textarea} name="public" />
         </ItemOverrideAlert>
       </Row>
@@ -80,6 +89,7 @@ const ReviewerReportForm = ({
         <Row justify="flex-start" mb={1}>
           <Item flex={0}>
             <FileItem
+              data-test-id="form-report-file-item-actions"
               item={formValues.file}
               onDelete={removeFile}
               onDownload={downloadFile}
@@ -96,14 +106,18 @@ const ReviewerReportForm = ({
               <Label>Confidential note for the Editorial Team</Label>
             </Item>
             <Item justify="flex-end">
-              <ActionLink icon="x" onClick={removeNote}>
+              <ActionLink
+                data-test-id="form-report-remove-note"
+                icon="x"
+                onClick={removeNote}
+              >
                 Remove
               </ActionLink>
             </Item>
           </Fragment>
         ) : (
           <Item>
-            <ActionLink onClick={addNote}>
+            <ActionLink data-test-id="form-report-add-note" onClick={addNote}>
               Add Confidential note for the Editorial Team
             </ActionLink>
           </Item>
@@ -112,7 +126,10 @@ const ReviewerReportForm = ({
 
       {hasNote && (
         <Row>
-          <ItemOverrideAlert vertical>
+          <ItemOverrideAlert
+            data-test-id="textarea-form-report-add-note"
+            vertical
+          >
             <ValidatedField component={Textarea} name="confidential" />
           </ItemOverrideAlert>
         </Row>
@@ -128,7 +145,12 @@ const ReviewerReportForm = ({
         {isFetching ? (
           <Spinner />
         ) : (
-          <Button onClick={handleSubmit} primary size="medium">
+          <Button
+            data-test-id="button-submit-report"
+            onClick={handleSubmit}
+            primary
+            size="medium"
+          >
             Submit report
           </Button>
         )}
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js b/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js
index 9b4827c3f..a638617e4 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js
@@ -49,7 +49,7 @@ const ResponseToInvitation = ({
           component={input => (
             <Row
               alignItems="center"
-              data-test-id="he-respond-to-invitation"
+              data-test-id="radio-respond-to-invitation"
               justify="space-between"
             >
               <RadioGroup inline name="decision" options={options} {...input} />
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
index 2f1794281..642099f91 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
@@ -8,17 +8,17 @@ const DashboardFilters = ({
   changeFilterValue,
   getDefaultFilterValue,
 }) => (
-  <Row
-    alignItems="flex-end"
-    data-test-id="dashboard-filters"
-    justify="flex-start"
-    mb={1}
-    mt={2}
-  >
+  <Row alignItems="flex-end" justify="flex-start" mb={1} mt={2}>
     <Text mr={1} pb={1} secondary>
       Filters
     </Text>
-    <Item alignItems="flex-start" flex={0} mr={1} vertical>
+    <Item
+      alignItems="flex-start"
+      data-test-id="dashboard-filter-priority"
+      flex={0}
+      mr={1}
+      vertical
+    >
       <Label>Priority</Label>
       <Menu
         inline
@@ -28,7 +28,12 @@ const DashboardFilters = ({
         value={getDefaultFilterValue('priority')}
       />
     </Item>
-    <Item alignItems="flex-start" flex={0} vertical>
+    <Item
+      alignItems="flex-start"
+      data-test-id="dashboard-filter-order"
+      flex={0}
+      vertical
+    >
       <Label>Order</Label>
       <Menu
         inline
-- 
GitLab