diff --git a/packages/component-faraday-ui/src/AppBar.js b/packages/component-faraday-ui/src/AppBar.js
index f1eef417786cbfbe861325e7bff8e2bb5304ac3d..80dc030cc5b325b62bc929a143d3500009f3a948 100644
--- a/packages/component-faraday-ui/src/AppBar.js
+++ b/packages/component-faraday-ui/src/AppBar.js
@@ -31,7 +31,7 @@ const AppBar = ({
           !isSubmit &&
           currentUser.user && (
             <Button
-              data-test="new-manuscript"
+              data-test-id="new-manuscript"
               disabled={!canCreateDraft}
               ml={2}
               mr={5}
diff --git a/packages/component-faraday-ui/src/AppBarMenu.js b/packages/component-faraday-ui/src/AppBarMenu.js
index 48952b453fbd702c5b4ec4257fd8aaa5c61f8ce8..a0168026241ba3d8d0d90d0f9ad1448a056806d0 100644
--- a/packages/component-faraday-ui/src/AppBarMenu.js
+++ b/packages/component-faraday-ui/src/AppBarMenu.js
@@ -75,7 +75,9 @@ const User = styled.div`
   display: flex;
   cursor: pointer;
 `
-const Dropdown = styled.div`
+const Dropdown = styled.div.attrs({
+  'data-test-id': props => props['data-test-id'] || 'admin-dropdown',
+})`
   background-color: ${th('appBar.colorBackground')};
   border-radius: ${th('borderRadius')};
   box-shadow: ${th('boxShadow')};
@@ -86,7 +88,9 @@ const Dropdown = styled.div`
   z-index: 10;
 `
 
-const DropdownOption = styled.div`
+const DropdownOption = styled.div.attrs({
+  'data-teast-id': props => props['data-test-id'] || 'dropdown-option',
+})`
   align-items: center;
   color: ${th('colorText')};
   cursor: pointer;
diff --git a/packages/component-faraday-ui/src/AuthorTag.js b/packages/component-faraday-ui/src/AuthorTag.js
index de77649af2ef6640b21c315fe8cac3bf78bfa00c..1ac2a56a90bd18468d8235f90746e827801b37fc 100644
--- a/packages/component-faraday-ui/src/AuthorTag.js
+++ b/packages/component-faraday-ui/src/AuthorTag.js
@@ -7,6 +7,7 @@ import Text from './Text'
 
 const AuthorTag = ({
   author: {
+    id,
     firstName,
     lastName,
     isCorresponding,
@@ -14,7 +15,7 @@ const AuthorTag = ({
     affiliationNumber,
   },
 }) => (
-  <Root>
+  <Root data-test-id={`author-tag-${id}`}>
     <Text>{`${firstName} ${lastName}`}</Text>
     {isSubmitting && <Tag>SA</Tag>}
     {isCorresponding && <Tag>CA</Tag>}
diff --git a/packages/component-faraday-ui/src/AuthorTagList.js b/packages/component-faraday-ui/src/AuthorTagList.js
index 4e9cd757a62866f19b3c66298d084cee967cd80d..afa4067c1ebeedbccaf3969d9d813d985629aa3f 100644
--- a/packages/component-faraday-ui/src/AuthorTagList.js
+++ b/packages/component-faraday-ui/src/AuthorTagList.js
@@ -69,6 +69,7 @@ const AuthorTagList = ({
     {withAffiliations && (
       <Item flex={0} ml={1}>
         <ActionLink
+          data-test-id="affiliations-id"
           icon={showAffiliation ? 'minus' : 'plus'}
           onClick={toggleAffiliation}
         >
diff --git a/packages/component-faraday-ui/src/Footer.js b/packages/component-faraday-ui/src/Footer.js
index 4a237f254c3afcb9c6c964495c0380ab54cdf75f..15c2d7588cc049f4cc3da02ac990b274665a407a 100644
--- a/packages/component-faraday-ui/src/Footer.js
+++ b/packages/component-faraday-ui/src/Footer.js
@@ -7,17 +7,30 @@ import { withJournal } from 'xpub-journal'
 import { ActionLink, Row, Text } from './'
 
 const Footer = ({ journal }) => (
-  <Root alignItems="center" justify="center">
-    <ActionLink to="https://hindawi.com">Hindawi</ActionLink>
-    <ActionLink ml={3} to="https://www.hindawi.com/privacy/">
+  <Root alignItems="center" data-test-id="footer-row-id" justify="center">
+    <ActionLink data-test-id="hindawi-redirect" to="https://hindawi.com">
+      Hindawi
+    </ActionLink>
+    <ActionLink
+      data-test-id="privacy-policy"
+      ml={3}
+      to="https://www.hindawi.com/privacy/"
+    >
       Privacy Policy
     </ActionLink>
-    <ActionLink ml={3} to="https://www.hindawi.com/terms/">
+    <ActionLink
+      data-test-id="terms-of-service"
+      ml={3}
+      to="https://www.hindawi.com/terms/"
+    >
       Terms of Service
     </ActionLink>
     <Text ml={4} secondary>
       {`Support: `}
-      <ActionLink to={`mailto:${get(journal, 'metadata.email')}`}>
+      <ActionLink
+        data-test-id="email-support"
+        to={`mailto:${get(journal, 'metadata.email')}`}
+      >
         {get(journal, 'metadata.email')}
       </ActionLink>
     </Text>
diff --git a/packages/component-faraday-ui/src/Logo.js b/packages/component-faraday-ui/src/Logo.js
index 655780803e2c2a3010dd1e243136376af4c6e8d1..906faa2a57e62adf6eb4a42bed7d1d285d457242 100644
--- a/packages/component-faraday-ui/src/Logo.js
+++ b/packages/component-faraday-ui/src/Logo.js
@@ -2,8 +2,15 @@
 
 import React from 'react'
 
-const Logo = ({ src, onClick, title, height = 36 }) => (
-  <img alt={title} height={height} onClick={onClick} src={src} title={title} />
+const Logo = ({ src, onClick, title, height = 36, ...rest }) => (
+  <img
+    alt={title}
+    data-test-id={rest['data-test-id'] || 'journal-logo'}
+    height={height}
+    onClick={onClick}
+    src={src}
+    title={title}
+  />
 )
 
 export default Logo
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js
index b30f045ad4725e1502b54433ca631d168d17b359..1aa83869b1bdd953b736eaba1baccc2558f5140e 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js
@@ -11,6 +11,7 @@ const ManuscriptAssignHE = ({
 }) =>
   canAssignHE ? (
     <ContextualBox
+      data-test-id="assign-handling-editor-id"
       expanded={expanded}
       label="Assign Handling Editor"
       scrollIntoView
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
index a6f66d3736b655bb1835539cd73115feac761ceb..610e87d7eb34f131a0081bf729518efd67685b22 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
@@ -27,7 +27,11 @@ const ManuscriptEicDecision = ({
   options = [],
   ...rest
 }) => (
-  <ContextualBox label="Your Editorial Decision" {...rest}>
+  <ContextualBox
+    data-test-id="your-editorial-decision-id"
+    label="Your Editorial Decision"
+    {...rest}
+  >
     <Root>
       <Row justify="flex-start">
         <ItemOverrideAlert flex={0} vertical>
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js
index cc79766601a6e3bf1461efb6c0c1eaa294624d95..3d992b50e9f3af93e355222badb72f22503c7ce1 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js
@@ -28,19 +28,34 @@ const ManuscriptHeader = ({
   const { title = 'No title', journal = '', type = '' } = metadata
   return (
     <Fragment>
-      <Row alignItems="baseline" justify="space-between">
+      <Row
+        alignItems="baseline"
+        data-test-id="manuscript-title-id"
+        justify="space-between"
+      >
         <H2 mb={1}>{title}</H2>
         <Tag data-test-id="fragment-status" status>
           {visibleStatus}
         </Tag>
       </Row>
       {authors.length > 0 && (
-        <Row alignItems="center" justify="flex-start" mb={1}>
+        <Row
+          alignItems="center"
+          data-test-id="authors-row-id"
+          justify="flex-start"
+          mb={1}
+        >
           <AuthorTagList authors={authors} withAffiliations withTooltip />
         </Row>
       )}
       <Row alignItems="center" justify="flex-start" mb={1}>
-        {customId && <Text customId mr={1}>{`ID ${customId}`}</Text>}
+        {customId && (
+          <Text
+            customId
+            data-test-id="manuscript-id"
+            mr={1}
+          >{`ID ${customId}`}</Text>
+        )}
         {submitted && (
           <DateParser durationThreshold={0} timestamp={submitted}>
             {timestamp => <Text mr={3}>Submitted on {timestamp}</Text>}
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
index 205719b95fb817a3b67b0e0d8b18da2e807ca05d..96df2724c896001ff850193004de6a4ad2651671 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
@@ -18,7 +18,12 @@ const ManuscriptMetadata = ({
   <Fragment>
     {!!abstract && (
       <Item mb={1}>
-        <ContextualBox label="Abstract" startExpanded transparent>
+        <ContextualBox
+          data-test-id="abstract-tab-id"
+          label="Abstract"
+          startExpanded
+          transparent
+        >
           <Text mb={1} mt={1}>
             {abstract}
           </Text>
@@ -27,7 +32,11 @@ const ManuscriptMetadata = ({
     )}
     {conflicts.hasConflicts === 'yes' && (
       <Item mb={1}>
-        <ContextualBox label="Conflict of Interest" transparent>
+        <ContextualBox
+          data-test-id="conflict-of-interest-tab-id"
+          label="Conflict of Interest"
+          transparent
+        >
           <Text mb={1} mt={1}>
             {get(conflicts, 'message', '')}
           </Text>
@@ -36,7 +45,11 @@ const ManuscriptMetadata = ({
     )}
     {!isEmpty(files) && (
       <Item mb={1}>
-        <ContextualBox label={filesLabel} transparent>
+        <ContextualBox
+          data-test-id="files-tab-id"
+          label={filesLabel}
+          transparent
+        >
           <ManuscriptFileList
             files={files}
             getSignedUrl={getSignedUrl}
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
index f9b3bab6f8aedca1accd5c05b3fd2beb4df5d314..2f1794281d784ee183df364b9322a61c56c5f251 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
@@ -8,7 +8,13 @@ const DashboardFilters = ({
   changeFilterValue,
   getDefaultFilterValue,
 }) => (
-  <Row alignItems="flex-end" justify="flex-start" mb={1} mt={2}>
+  <Row
+    alignItems="flex-end"
+    data-test-id="dashboard-filters"
+    justify="flex-start"
+    mb={1}
+    mt={2}
+  >
     <Text mr={1} pb={1} secondary>
       Filters
     </Text>
diff --git a/packages/components-faraday/src/components/SignUp/SignUpStep0.js b/packages/components-faraday/src/components/SignUp/SignUpStep0.js
index 51edb75af1575d53e615c6cff9db1f7081b682ca..36116c1cb4a5f85ede9c28f4fff37b2b4098ac18 100644
--- a/packages/components-faraday/src/components/SignUp/SignUpStep0.js
+++ b/packages/components-faraday/src/components/SignUp/SignUpStep0.js
@@ -42,7 +42,7 @@ const Step0 = ({
   !isUndefined(initialValues) ? (
     <Fragment>
       <Row mb={2} mt={3}>
-        <Item mr={1} vertical>
+        <Item data-test-id="sign-up-first-name-id" mr={1} vertical>
           <Label required>First Name</Label>
           <ValidatedField
             component={TextField}
@@ -50,7 +50,7 @@ const Step0 = ({
             validate={[requiredValidator]}
           />
         </Item>
-        <Item ml={1} vertical>
+        <Item data-test-id="sign-up-last-name-id" ml={1} vertical>
           <Label required>Last Name</Label>
           <ValidatedField
             component={TextField}
@@ -61,7 +61,7 @@ const Step0 = ({
       </Row>
 
       <Row mb={2}>
-        <ItemOverrideAlert mr={1} vertical>
+        <ItemOverrideAlert data-test-id="sign-up-title-id" mr={1} vertical>
           <Label required>Title</Label>
           <ValidatedField
             component={input => (
@@ -75,7 +75,7 @@ const Step0 = ({
             validate={[requiredValidator]}
           />
         </ItemOverrideAlert>
-        <ItemOverrideAlert ml={1} vertical>
+        <ItemOverrideAlert data-test-id="sign-up-country-id" ml={1} vertical>
           <Label required>Country</Label>
           <ValidatedField
             component={input => (
@@ -92,7 +92,7 @@ const Step0 = ({
       </Row>
 
       <Row>
-        <Item vertical>
+        <Item data-test-id="sign-up-affiliation-id" vertical>
           <Label required>Affiliation</Label>
           <ValidatedField
             component={TextField}
@@ -102,7 +102,7 @@ const Step0 = ({
         </Item>
       </Row>
 
-      <ValidationRow mb={2}>
+      <ValidationRow data-test-id="sign-up-agree-TC-id" mb={2}>
         <ValidatedField
           component={AgreeCheckbox}
           name="agreeTC"
@@ -123,7 +123,11 @@ const Step0 = ({
         </Text>
       </Row>
 
-      <Button mt={4} onClick={handleSubmit}>
+      <Button
+        data-test-id="sign-up-proceed-to-set-email-and-password-id"
+        mt={4}
+        onClick={handleSubmit}
+      >
         PROCEED TO SET {type === 'signup' && 'EMAIL AND'} PASSWORD
       </Button>
 
diff --git a/packages/components-faraday/src/components/SignUp/SignUpStep1.js b/packages/components-faraday/src/components/SignUp/SignUpStep1.js
index a9d6d4625b1fd6ca485b7de67d7765154a1bc020..ef2404d87e2b29da53282168012d5dece945d4c4 100644
--- a/packages/components-faraday/src/components/SignUp/SignUpStep1.js
+++ b/packages/components-faraday/src/components/SignUp/SignUpStep1.js
@@ -12,7 +12,7 @@ const EmailField = input => <TextField {...input} type="email" />
 const SignUpForm = () => (
   <Fragment>
     <Row mb={2}>
-      <Item vertical>
+      <Item data-test-id="sign-up-email-id" vertical>
         <Label required>Email</Label>
         <ValidatedField
           component={EmailField}
@@ -22,7 +22,7 @@ const SignUpForm = () => (
       </Item>
     </Row>
     <Row mb={2}>
-      <Item vertical>
+      <Item data-test-id="sign-up-password-id" vertical>
         <Label required>Password</Label>
         <ValidatedField
           component={PasswordField}
@@ -32,7 +32,7 @@ const SignUpForm = () => (
       </Item>
     </Row>
     <Row mb={2}>
-      <Item vertical>
+      <Item data-test-id="sign-up-confirm-password-id" vertical>
         <Label required>Confirm password</Label>
         <ValidatedField
           component={PasswordField}
@@ -106,8 +106,17 @@ const Step1 = ({
     <Row />
 
     <Row justify={!withoutBack.includes(type) ? 'space-between' : 'center'}>
-      {!withoutBack.includes(type) && <Button onClick={onBack}>BACK</Button>}
-      <Button disabled={submitting} onClick={handleSubmit} primary>
+      {!withoutBack.includes(type) && (
+        <Button data-test-id="sign-up-back-button-id" onClick={onBack}>
+          BACK
+        </Button>
+      )}
+      <Button
+        data-test-id="sign-up-confirm-button-id"
+        disabled={submitting}
+        onClick={handleSubmit}
+        primary
+      >
         {onSubmitText}
       </Button>
     </Row>