diff --git a/cypress/e2e/staffMembers.js b/cypress/e2e/staffMembers.js index ac8a0e02d..c2d80fa1f 100644 --- a/cypress/e2e/staffMembers.js +++ b/cypress/e2e/staffMembers.js @@ -7,6 +7,7 @@ import { LEFT_MENU_SELECTORS } from "../elements/account/left-menu/left-menu-sel import { LOGIN_SELECTORS } from "../elements/account/login-selectors"; import { BUTTON_SELECTORS } from "../elements/shared/button-selectors"; import { SHARED_ELEMENTS } from "../elements/shared/sharedElements"; +import { INVITE_STAFF_MEMBER_FORM } from "../elements/staffMembers/inviteStaffMemberForm"; import { STAFF_MEMBER_DETAILS } from "../elements/staffMembers/staffMemberDetails"; import { STAFF_MEMBERS_LIST } from "../elements/staffMembers/staffMembersList"; import { urlList, userDetailsUrl } from "../fixtures/urlList"; @@ -188,6 +189,10 @@ describe("Staff members", () => { .get(STAFF_MEMBERS_LIST.inviteStaffMemberButton) .click({ force: true }); fillUpOnlyUserDetails(firstName, lastName, emailInvite); + cy.get(INVITE_STAFF_MEMBER_FORM.emailValidationMessage).should( + "be.visible", + ); + cy.get(BUTTON_SELECTORS.dialogBackButton).click(); cy.confirmationErrorMessageShouldAppear(); }, ); diff --git a/cypress/elements/shared/button-selectors.js b/cypress/elements/shared/button-selectors.js index 850a32155..129bbee02 100644 --- a/cypress/elements/shared/button-selectors.js +++ b/cypress/elements/shared/button-selectors.js @@ -18,4 +18,5 @@ export const BUTTON_SELECTORS = { deleteAssignedItemsConsentCheckbox: '[name="delete-assigned-items-consent"]', deleteSelectedElementsButton: '[data-test-id = "delete-selected-elements-icon"]', + dialogBackButton: '[data-test-id="back"]', }; diff --git a/cypress/elements/staffMembers/inviteStaffMemberForm.js b/cypress/elements/staffMembers/inviteStaffMemberForm.js index 725ff0086..4497a5b8b 100644 --- a/cypress/elements/staffMembers/inviteStaffMemberForm.js +++ b/cypress/elements/staffMembers/inviteStaffMemberForm.js @@ -1,5 +1,6 @@ export const INVITE_STAFF_MEMBER_FORM = { firstNameInput: '[name="firstName"]', lastNameInput: '[name="lastName"]', - emailInput: '[name="email"]' + emailInput: '[name="email"]', + emailValidationMessage: "[data-test-id='email-text-input-helper-text']", }; diff --git a/src/staff/components/StaffAddMemberDialog/StaffAddMemberDialog.tsx b/src/staff/components/StaffAddMemberDialog/StaffAddMemberDialog.tsx index 5cd7ec7fb..026ddfef5 100644 --- a/src/staff/components/StaffAddMemberDialog/StaffAddMemberDialog.tsx +++ b/src/staff/components/StaffAddMemberDialog/StaffAddMemberDialog.tsx @@ -22,6 +22,8 @@ import { ConfirmButtonTransitionState, makeStyles } from "@saleor/macaw-ui"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; +import { ExtendedFormHelperTextProps } from "./types"; + export interface AddMemberFormData { email: string; firstName: string; @@ -122,6 +124,11 @@ const StaffAddMemberDialog: React.FC = props => { type="email" value={formData.email} onChange={change} + FormHelperTextProps={ + { + "data-test-id": "email-text-input-helper-text", + } as ExtendedFormHelperTextProps + } />
diff --git a/src/staff/components/StaffAddMemberDialog/types.ts b/src/staff/components/StaffAddMemberDialog/types.ts new file mode 100644 index 000000000..70a80c5eb --- /dev/null +++ b/src/staff/components/StaffAddMemberDialog/types.ts @@ -0,0 +1,5 @@ +import { FormHelperTextProps } from "@material-ui/core/FormHelperText"; + +export type ExtendedFormHelperTextProps = FormHelperTextProps & { + "data-test-id": string; +};