diff --git a/automation/Libs/TempTestCase1521532818896.groovy b/automation/Libs/TempTestCase1521532818896.groovy deleted file mode 100644 index 2eadf528aff95762c0ee76aa0cb937686cbe4415..0000000000000000000000000000000000000000 --- a/automation/Libs/TempTestCase1521532818896.groovy +++ /dev/null @@ -1,25 +0,0 @@ -import com.kms.katalon.core.main.TestCaseMain -import com.kms.katalon.core.logging.KeywordLogger -import groovy.lang.MissingPropertyException -import com.kms.katalon.core.testcase.TestCaseBinding -import com.kms.katalon.core.driver.internal.DriverCleanerCollector -import com.kms.katalon.core.model.FailureHandling -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.contribution.WebUiDriverCleaner -import com.kms.katalon.core.mobile.contribution.MobileDriverCleaner - - -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.webui.contribution.WebUiDriverCleaner()) -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.mobile.contribution.MobileDriverCleaner()) - - -RunConfiguration.setExecutionSettingFile('/var/folders/3h/5jvs258x4lng1yz2s32ryr4r0000gn/T/Katalon/Test Cases/Add new manuscript/Add a new manuscript/20180320_100018/execution.properties') - -TestCaseMain.beforeStart() -try { - - TestCaseMain.runTestCase('Test Cases/Add new manuscript/Add a new manuscript', new TestCaseBinding('Test Cases/Add new manuscript/Add a new manuscript', [:]), FailureHandling.STOP_ON_FAILURE ) - -} catch (Exception e) { - TestCaseMain.logError(e, 'Test Cases/Add new manuscript/Add a new manuscript') -} diff --git a/automation/Libs/TempTestCase1521534025597.groovy b/automation/Libs/TempTestCase1521534025597.groovy deleted file mode 100644 index da525f922a3d4bc5f15051c8847e496c379c1b18..0000000000000000000000000000000000000000 --- a/automation/Libs/TempTestCase1521534025597.groovy +++ /dev/null @@ -1,25 +0,0 @@ -import com.kms.katalon.core.main.TestCaseMain -import com.kms.katalon.core.logging.KeywordLogger -import groovy.lang.MissingPropertyException -import com.kms.katalon.core.testcase.TestCaseBinding -import com.kms.katalon.core.driver.internal.DriverCleanerCollector -import com.kms.katalon.core.model.FailureHandling -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.contribution.WebUiDriverCleaner -import com.kms.katalon.core.mobile.contribution.MobileDriverCleaner - - -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.webui.contribution.WebUiDriverCleaner()) -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.mobile.contribution.MobileDriverCleaner()) - - -RunConfiguration.setExecutionSettingFile('/var/folders/3h/5jvs258x4lng1yz2s32ryr4r0000gn/T/Katalon/Test Cases/Add a new user/Add a new user/20180320_102025/execution.properties') - -TestCaseMain.beforeStart() -try { - - TestCaseMain.runTestCase('Test Cases/Add a new user/Add a new user', new TestCaseBinding('Test Cases/Add a new user/Add a new user', [:]), FailureHandling.STOP_ON_FAILURE ) - -} catch (Exception e) { - TestCaseMain.logError(e, 'Test Cases/Add a new user/Add a new user') -} diff --git a/automation/Libs/TempTestCase1521535083259.groovy b/automation/Libs/TempTestCase1521535083259.groovy deleted file mode 100644 index 1ee399993a23052b3bb1474b2fe09a165a886670..0000000000000000000000000000000000000000 --- a/automation/Libs/TempTestCase1521535083259.groovy +++ /dev/null @@ -1,25 +0,0 @@ -import com.kms.katalon.core.main.TestCaseMain -import com.kms.katalon.core.logging.KeywordLogger -import groovy.lang.MissingPropertyException -import com.kms.katalon.core.testcase.TestCaseBinding -import com.kms.katalon.core.driver.internal.DriverCleanerCollector -import com.kms.katalon.core.model.FailureHandling -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.contribution.WebUiDriverCleaner -import com.kms.katalon.core.mobile.contribution.MobileDriverCleaner - - -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.webui.contribution.WebUiDriverCleaner()) -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.mobile.contribution.MobileDriverCleaner()) - - -RunConfiguration.setExecutionSettingFile('/var/folders/3h/5jvs258x4lng1yz2s32ryr4r0000gn/T/Katalon/Test Cases/Add a new user/Add a new user/20180320_103803/execution.properties') - -TestCaseMain.beforeStart() -try { - - TestCaseMain.runTestCase('Test Cases/Add a new user/Add a new user', new TestCaseBinding('Test Cases/Add a new user/Add a new user', [:]), FailureHandling.STOP_ON_FAILURE ) - -} catch (Exception e) { - TestCaseMain.logError(e, 'Test Cases/Add a new user/Add a new user') -} diff --git a/automation/Libs/TempTestCase1521537248328.groovy b/automation/Libs/TempTestCase1521537248328.groovy deleted file mode 100644 index 1af2e60ac61ff14ecdedf4cc586f7e69b290c76f..0000000000000000000000000000000000000000 --- a/automation/Libs/TempTestCase1521537248328.groovy +++ /dev/null @@ -1,25 +0,0 @@ -import com.kms.katalon.core.main.TestCaseMain -import com.kms.katalon.core.logging.KeywordLogger -import groovy.lang.MissingPropertyException -import com.kms.katalon.core.testcase.TestCaseBinding -import com.kms.katalon.core.driver.internal.DriverCleanerCollector -import com.kms.katalon.core.model.FailureHandling -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.contribution.WebUiDriverCleaner -import com.kms.katalon.core.mobile.contribution.MobileDriverCleaner - - -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.webui.contribution.WebUiDriverCleaner()) -DriverCleanerCollector.getInstance().addDriverCleaner(new com.kms.katalon.core.mobile.contribution.MobileDriverCleaner()) - - -RunConfiguration.setExecutionSettingFile('/var/folders/3h/5jvs258x4lng1yz2s32ryr4r0000gn/T/Katalon/Test Cases/Add new manuscript/Add a new manuscript/20180320_111408/execution.properties') - -TestCaseMain.beforeStart() -try { - - TestCaseMain.runTestCase('Test Cases/Add new manuscript/Add a new manuscript', new TestCaseBinding('Test Cases/Add new manuscript/Add a new manuscript', [:]), FailureHandling.STOP_ON_FAILURE ) - -} catch (Exception e) { - TestCaseMain.logError(e, 'Test Cases/Add new manuscript/Add a new manuscript') -} diff --git a/automation/Object Repository/NewUser/addUser.rs b/automation/Object Repository/NewUser/addUser.rs index a4a847e6b649db3fc113dad74c698022ad1141b6..842a682990d8e8efb2eeb1d33b87d66dc105d4e7 100644 --- a/automation/Object Repository/NewUser/addUser.rs +++ b/automation/Object Repository/NewUser/addUser.rs @@ -6,14 +6,23 @@ <elementGuidId>603be35e-a2f1-4b42-9155-c50663f2f154</elementGuidId> <selectorCollection> <entry> +<<<<<<< HEAD <key>CSS</key> <value>button[data-test="button-add-user"]</value> </entry> <entry> <key>XPATH</key> +======= + <key>XPATH</key> + <value>//button/*[1]</value> + </entry> + <entry> + <key>CSS</key> + <value>button:first-child</value> +>>>>>>> e85cabdf8bb80ea1284bf832b47b990be81d0c03 </entry> </selectorCollection> - <selectorMethod>CSS</selectorMethod> + <selectorMethod>XPATH</selectorMethod> <useRalativeImagePath>false</useRalativeImagePath> <webElementProperties> <isSelected>true</isSelected> diff --git a/automation/Object Repository/NewUser/adminButton.rs b/automation/Object Repository/NewUser/adminButton.rs index e1210f6cccca40ddeaa28d2d4d4c617b2b39b4d9..01b317e005ea1fd7db52d4fcf1dd1ab91e7c0dfa 100644 --- a/automation/Object Repository/NewUser/adminButton.rs +++ b/automation/Object Repository/NewUser/adminButton.rs @@ -6,11 +6,19 @@ <elementGuidId>9be9ae36-fc08-41ea-9e5e-66e6b3424324</elementGuidId> <selectorCollection> <entry> +<<<<<<< HEAD:automation/Object Repository/NewUser/adminButton.rs <key>CSS</key> </entry> <entry> <key>XPATH</key> <value>//*[@id="root"]/div/div/div[1]/div[2]/div/span[2]</value> +======= + <key>XPATH</key> + <value>//span[contains(text(),'admin')]</value> + </entry> + <entry> + <key>CSS</key> +>>>>>>> e85cabdf8bb80ea1284bf832b47b990be81d0c03:automation/Object Repository/NewUser/admin.rs </entry> </selectorCollection> <selectorMethod>XPATH</selectorMethod> diff --git a/automation/Object Repository/NewUser/roleAdmin.rs b/automation/Object Repository/NewUser/roleAdmin.rs index b65caf6f70145ebdc3750127a04b19a59788bf9b..55581d2b16c2341165a1adb776bf8927a360b735 100644 --- a/automation/Object Repository/NewUser/roleAdmin.rs +++ b/automation/Object Repository/NewUser/roleAdmin.rs @@ -8,9 +8,14 @@ <entry> <key>XPATH</key> <value>div[data-test="role-selector"] button</value> + <value>//div[contains(text(),'Editor in Chief')]</value> + </entry> + <entry> + <key>CSS</key> + <value>div[data-test="role-selector"] div[role="option"]:last-child</value> </entry> </selectorCollection> - <selectorMethod>XPATH</selectorMethod> + <selectorMethod>CSS</selectorMethod> <useRalativeImagePath>false</useRalativeImagePath> <webElementProperties> <isSelected>true</isSelected> diff --git a/automation/Object Repository/NewUser/users.rs b/automation/Object Repository/NewUser/users.rs index 2970442d1af00a5b362e36fb18d680ad1188989b..bd2c23d477bd43e405fa7dc04b958aac6ab35372 100644 --- a/automation/Object Repository/NewUser/users.rs +++ b/automation/Object Repository/NewUser/users.rs @@ -8,13 +8,15 @@ <entry> <key>CSS</key> <value>div[data-test="card-users"]</value> + <key>XPATH</key> + <value>//span[contains(text(),'Users')]</value> </entry> <entry> - <key>XPATH</key> - <value>//div[@class="sc-eXNvrr hVBWZK"]/span[contains(text(),'Users')]</value> + <key>CSS</key> + <value>//span[contains(text(),'Users')]</value> </entry> </selectorCollection> - <selectorMethod>CSS</selectorMethod> + <selectorMethod>XPATH</selectorMethod> <useRalativeImagePath>false</useRalativeImagePath> <webElementProperties> <isSelected>true</isSelected> diff --git a/automation/Scripts/Add a new user/Add a new user/Script1521123804636.groovy b/automation/Scripts/Add a new user/Add a new user/Script1521123804636.groovy index 14866238f2fb9fc3c3e52242434f9fd5ce76345e..6ef2f77f01c18d0f9cafbc0e2dcedf3f69d43939 100644 --- a/automation/Scripts/Add a new user/Add a new user/Script1521123804636.groovy +++ b/automation/Scripts/Add a new user/Add a new user/Script1521123804636.groovy @@ -20,59 +20,87 @@ import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI import internal.GlobalVariable as GlobalVariable WebUI.openBrowser(null) + WebUI.navigateToUrl('https://xpub-faraday.now.sh') -username = findTestObject("NewUser/username") +username = findTestObject('NewUser/username') + WebUI.click(username) + WebUI.setText(username, 'admin') -password = findTestObject("NewUser/password") +password = findTestObject('NewUser/password') + WebUI.click(password) + WebUI.setText(password, 'admin123') -login = findTestObject("NewUser/login") +login = findTestObject('NewUser/login') + WebUI.click(login) admin = findTestObject("NewUser/adminButton") WebUI.click(admin) -adminDashboard = findTestObject("NewUser/adminDashboard") +adminDashboard = findTestObject('NewUser/adminDashboard') + WebUI.click(adminDashboard) -users = findTestObject("NewUser/users") +users = findTestObject('NewUser/users') + WebUI.waitForElementVisible(users, 2) + WebUI.click(users) -addUser = findTestObject("NewUser/addUser") +addUser = findTestObject('NewUser/addUser') + WebUI.click(addUser) -email = findTestObject("NewUser/email") +email = findTestObject('NewUser/email') + WebUI.click(email) +<<<<<<< HEAD WebUI.setText(email, 'vlad.stegaru+newestUser@thinslices.com') +======= +>>>>>>> e85cabdf8bb80ea1284bf832b47b990be81d0c03 + +WebUI.setText(email, 'bogdan.cochior+author@thinslices.com') + +roleDropDown = findTestObject('NewUser/roleDropDown') -roleDropDown = findTestObject("NewUser/roleDropDown") WebUI.click(roleDropDown) -author = findTestObject("NewUser/author") +author = findTestObject('NewUser/author') + WebUI.click(author) -firstName = findTestObject("NewUser/firstName") +firstName = findTestObject('NewUser/firstName') + WebUI.click(firstName) -WebUI.setText(firstName, 'Vlad') -lastName = findTestObject("NewUser/lastName") +WebUI.setText(firstName, 'Bogdan Author') + +lastName = findTestObject('NewUser/lastName') + WebUI.click(lastName) -WebUI.setText(lastName, 'Stegaru') -affiliation = findTestObject("NewUser/affiliation") +WebUI.setText(lastName, 'Test') + +affiliation = findTestObject('NewUser/affiliation') + WebUI.click(affiliation) + WebUI.setText(affiliation, 'College') -title = findTestObject("NewUser/titleDropDown") +title = findTestObject('NewUser/titleDropDown') + WebUI.click(title) -dr = findTestObject("NewUser/Dr") +dr = findTestObject('NewUser/Dr') + WebUI.click(dr) -save = findTestObject("NewUser/save") -WebUI.click(save) \ No newline at end of file +save = findTestObject('NewUser/save') + +WebUI.click(save) + diff --git a/packages/components-faraday/src/components/Admin/AdminDashboard.js b/packages/components-faraday/src/components/Admin/AdminDashboard.js index b36d692ea13982415d60c8355ff33d8293b159c8..5b138406023bf787f602ed026686d3e47d32a5fe 100644 --- a/packages/components-faraday/src/components/Admin/AdminDashboard.js +++ b/packages/components-faraday/src/components/Admin/AdminDashboard.js @@ -12,7 +12,7 @@ const AdminDashboard = ({ history, theme }) => ( </Icon> <span>Journal configuration</span> </Card> - <Card onClick={() => history.push('/admin/users')}> + <Card data-test="card-users" onClick={() => history.push('/admin/users')}> <Icon color={theme.colorPrimary} size={6}> users </Icon> diff --git a/packages/components-faraday/src/components/Admin/AdminUsers.js b/packages/components-faraday/src/components/Admin/AdminUsers.js index 0970cde4a1b677301662acab71d5689adce0e4b0..4185c022c7a6c704fdacb35f20039c4d29690789 100644 --- a/packages/components-faraday/src/components/Admin/AdminUsers.js +++ b/packages/components-faraday/src/components/Admin/AdminUsers.js @@ -71,7 +71,10 @@ const Users = ({ <span>Admin Dashboard</span> <span>Users</span> </BreadCrumbs> - <AddButton onClick={() => history.push('/admin/users/add')}> + <AddButton + data-test="button-add-user" + onClick={() => history.push('/admin/users/add')} + > <Icon color={theme.colorPrimary} size={3}> plus-circle </Icon> diff --git a/packages/components-faraday/src/components/AuthorList/AuthorAdder.js b/packages/components-faraday/src/components/AuthorList/AuthorAdder.js index 2cb1d3258fbd47afa1004fa0fb6af36b29a46314..aef24acfa0d5657ceebb00eaf8bbc2f03b915895 100644 --- a/packages/components-faraday/src/components/AuthorList/AuthorAdder.js +++ b/packages/components-faraday/src/components/AuthorList/AuthorAdder.js @@ -110,9 +110,11 @@ export default compose( fragmentId, ).then(author => { const newAuthors = [...authors, author] - setFormAuthors(newAuthors) - reset() setEditMode(false)() + setTimeout(() => { + setFormAuthors(newAuthors) + }, 1000) + reset() }) }, }), diff --git a/packages/components-faraday/src/components/SignUp/SignUpInvitationForm.js b/packages/components-faraday/src/components/SignUp/SignUpInvitationForm.js index ac7399aa0c49b8127f5cd160bb5137b0242bec91..6337b777a46e2fc6c42d694799bdee42972ce38c 100644 --- a/packages/components-faraday/src/components/SignUp/SignUpInvitationForm.js +++ b/packages/components-faraday/src/components/SignUp/SignUpInvitationForm.js @@ -32,6 +32,7 @@ const SignUpInvitation = ({ )} {step === 1 && ( <Step1 + error={error} initialValues={initialValues} journal={journal} onSubmit={submitConfirmation} diff --git a/packages/components-faraday/src/components/SignUp/SignUpStep1.js b/packages/components-faraday/src/components/SignUp/SignUpStep1.js index 7109f6c581422a6499788836fa9b40df01988acd..260aa47d1854ca5ceb793cceb0d3e2ba43a648e8 100644 --- a/packages/components-faraday/src/components/SignUp/SignUpStep1.js +++ b/packages/components-faraday/src/components/SignUp/SignUpStep1.js @@ -2,9 +2,9 @@ import React from 'react' import styled from 'styled-components' import { reduxForm } from 'redux-form' import { required } from 'xpub-validators' -import { Button, ValidatedField, TextField } from '@pubsweet/ui' +import { Button, ValidatedField, TextField, th } from '@pubsweet/ui' -const Step1 = ({ journal, handleSubmit }) => ( +const Step1 = ({ journal, handleSubmit, error }) => ( <FormContainer onSubmit={handleSubmit}> <Row> <RowItem> @@ -16,6 +16,13 @@ const Step1 = ({ journal, handleSubmit }) => ( /> </RowItem> </Row> + {error && ( + <Row> + <RowItem> + <Err>{error}</Err> + </RowItem> + </Row> + )} <Row> <Button primary type="submit"> CONFIRM @@ -35,18 +42,23 @@ const FormContainer = styled.form`` const Row = styled.div` display: flex; flex-direction: row; - margin: 20px 0; + margin: ${th('gridUnit')} 0; align-items: center; justify-content: space-evenly; ` const RowItem = styled.div` flex: 1; - margin-right: 20px; + margin-right: ${th('gridUnit')}; ` const Label = styled.div` - font-size: ${({ theme }) => theme.fontSizeBaseSmall}; - font-family: ${({ theme }) => theme.fontReading}; + font-size: ${th('fontSizeBaseSmall')}; + font-family: ${th('fontReading')}; text-transform: uppercase; ` +const Err = styled.div` + color: ${th('colorError')}; + text-align: left; + margin-top: calc(${th('gridUnit')}*-1); +` diff --git a/packages/components-faraday/src/redux/authors.js b/packages/components-faraday/src/redux/authors.js index c9a863d768a3efe1a824667ef4e8f52528c0a859..a4219d6ae9872ef33d02364f2371bc01531bc1bd 100644 --- a/packages/components-faraday/src/redux/authors.js +++ b/packages/components-faraday/src/redux/authors.js @@ -1,5 +1,4 @@ import { get } from 'lodash' -import * as api from 'pubsweet-client/src/helpers/api' // constants const REQUEST = 'authors/REQUEST' @@ -20,19 +19,8 @@ export const authorSuccess = () => ({ type: SUCCESS, }) -export const addAuthor = (author, collectionId, fragmentId) => dispatch => { - dispatch(authorRequest()) - return api - .create( - `/collections/${collectionId}/fragments/${fragmentId}/authors`, - author, - ) - .then(author => { - dispatch(authorSuccess()) - return author - }) - .catch(err => dispatch(authorFaiure(err))) -} +export const addAuthor = (author, collectionId, fragmentId) => dispatch => + Promise.resolve(author) // selectors export const getFragmentAuthors = (state, fragmentId) => diff --git a/packages/xpub-faraday/app/config/journal/submit-wizard.js b/packages/xpub-faraday/app/config/journal/submit-wizard.js index b4b8cc37aa111c3e522740c2d8e3cf01b1eb8546..ab50d4ab1c3067a9977febbb0ae7444d80880189 100644 --- a/packages/xpub-faraday/app/config/journal/submit-wizard.js +++ b/packages/xpub-faraday/app/config/journal/submit-wizard.js @@ -138,7 +138,7 @@ export default { }, { fieldId: 'metadata.abstract', - renderComponent: TitleEditor, + renderComponent: AbstractEditor, title: 'Abstract', placeholder: 'Write an abstract', validate: [requiredBasedOnType],