mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-21 13:37:28 +00:00
Modified failed Platform cypress test cases for Tooljet V3 (#11486)
This commit is contained in:
parent
b87dbf304c
commit
c4f3137feb
22 changed files with 1187 additions and 1784 deletions
|
|
@ -82,7 +82,7 @@ module.exports = defineConfig({
|
|||
experimentalModfyObstructiveThirdPartyCode: true,
|
||||
experimentalRunAllSpecs: true,
|
||||
baseUrl: "http://localhost:8082",
|
||||
specPattern: "cypress/e2e/happyPath/platform/commonTestcases/**/*.cy.js",
|
||||
specPattern: "cypress/e2e/happyPath/platform/**/**/*.cy.js",
|
||||
downloadsFolder: "cypress/downloads",
|
||||
numTestsKeptInMemory: 0,
|
||||
redirectionLimit: 10,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Cypress.Commands.add(
|
|||
redirection = "/"
|
||||
) => {
|
||||
cy.request({
|
||||
url: `http://localhost:3000/api/authenticate/${workspaceId}`,
|
||||
url: `${Cypress.env("server_host")}/api/authenticate/${workspaceId}`,
|
||||
method: "POST",
|
||||
body: {
|
||||
email: userEmail,
|
||||
|
|
@ -273,3 +273,4 @@ Cypress.Commands.add(
|
|||
});
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,16 +5,22 @@ import { commonText, createBackspaceText } from "Texts/common";
|
|||
import { passwordInputText } from "Texts/passwordInput";
|
||||
import { importSelectors } from "Selectors/exportImport";
|
||||
import { importText } from "Texts/exportImport";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
Cypress.Commands.add(
|
||||
"login",
|
||||
"appUILogin",
|
||||
(email = "dev@tooljet.io", password = "password") => {
|
||||
cy.visit("/");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, password);
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
cy.wait(2000);
|
||||
cy.get(commonSelectors.homePageLogo).should("be.visible");
|
||||
cy.clearAndType(onboardingSelectors.emailInput, email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, password);
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
|
||||
cy.intercept("GET", "api/library_apps").as(
|
||||
"library_apps"
|
||||
);
|
||||
cy.get(commonSelectors.homePageLogo, { timeout: 10000 });
|
||||
cy.wait("@library_apps");
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
|
|
@ -90,14 +96,6 @@ Cypress.Commands.add(
|
|||
}
|
||||
);
|
||||
|
||||
Cypress.Commands.add("appUILogin", () => {
|
||||
cy.visit("/");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, "dev@tooljet.io");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
cy.wait(2000);
|
||||
cy.get(commonSelectors.homePageLogo).should("be.visible");
|
||||
});
|
||||
|
||||
Cypress.Commands.add(
|
||||
"clearAndTypeOnCodeMirror",
|
||||
|
|
@ -365,7 +363,7 @@ Cypress.Commands.add("getPosition", (componentName) => {
|
|||
|
||||
Cypress.Commands.add("defaultWorkspaceLogin", () => {
|
||||
cy.apiLogin();
|
||||
cy.intercept("GET", "http://localhost:3000/api/library_apps").as(
|
||||
cy.intercept("GET", "/api/library_apps").as(
|
||||
"library_apps"
|
||||
);
|
||||
cy.visit("/my-workspace");
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ export const commonSelectors = {
|
|||
signInHeader: '[data-cy="sign-in-header"]',
|
||||
signInSubHeader: '[data-cy="sign-in-sub-header"]',
|
||||
createAnAccountLink: '[data-cy="create-an-account-link"]',
|
||||
SignUpSectionHeader: '[data-cy="signup-section-header"]',
|
||||
SignUpSectionHeader: '[data-cy="sign-up-header"]',
|
||||
signInRedirectText: '[data-cy="signin-redirect-text"]',
|
||||
signInRedirectLink: '[data-cy="signin-redirect-link"]',
|
||||
signInRedirectLink: '[data-cy="signin-link"]',
|
||||
signUpTermsHelperText: '[data-cy="signup-terms-helper"]',
|
||||
termsOfServiceLink: '[data-cy="terms-of-service-link"]',
|
||||
privacyPolicyLink: '[data-cy="privacy-policy-link"]',
|
||||
|
|
@ -120,7 +120,7 @@ export const commonSelectors = {
|
|||
onboardingPageHeader: '[data-cy="onboarding-page-header"]',
|
||||
onboardingPageSubHeader: '[data-cy="onboarding-page-sub-header"]',
|
||||
onboardingPageDescription: '[data-cy="onboarding-page-description"]',
|
||||
passwordHelperText: '[data-cy="password-helper-text"]',
|
||||
passwordHelperText: '[data-cy="new-password-input-hint"]',
|
||||
continueButton: '[data-cy="continue-button"]',
|
||||
userAccountNameAvatar: '[data-cy="user-account-name-avatar"]',
|
||||
workspaceNameInputLabel: '[data-cy="workspace-name-input-label"]',
|
||||
|
|
@ -135,26 +135,26 @@ export const commonSelectors = {
|
|||
emailInputField: '[data-cy="email-input-field"]',
|
||||
signUpButton: '[data-cy="sign-up-button"]',
|
||||
emailImage: '[data-cy="email-image"]',
|
||||
spamMessage: '[data-cy="email-page-spam-msg"]',
|
||||
resendEmailButton: '[data-cy="resend-email-button"]',
|
||||
spamMessage: '[data-cy="info-message"]',
|
||||
resendEmailButton: '[data-cy="resend-verification-email-button"]',
|
||||
editEmailButton: '[data-cy="edit-email-button"]',
|
||||
createAccountCheckMark: '[data-cy="create-account-check-mark"]',
|
||||
createAccountCheckPoint: '[data-cy="create-account-check-point"]',
|
||||
verifyEmailCheckMark: '[data-cy="verify-email-check-mark"]',
|
||||
verifyEmailCheckPoint: '[data-cy="verify-email-check-point"]',
|
||||
backtoSignUpButton: '[data-cy="back-to-signup-button"]',
|
||||
forgotPasswordPageHeader: '[data-cy="forgot-password-page-header"]',
|
||||
forgotPasswordPageSubHeader: '[data-cy="forgot-password-sub-header"]',
|
||||
resetPasswordLinkButton: '[data-cy="reset-password-link"]',
|
||||
forgotPasswordPageHeader: '[data-cy="forgot-password-header"]',
|
||||
forgotPasswordPageSubHeader: '[data-cy="signup-redirect-text"]',
|
||||
resetPasswordLinkButton: '[data-cy="send-a-reset-link-button"]',
|
||||
enterIcon: '[data-cy="enter-icon"]',
|
||||
passwordResetPageHeader: '[data-cy="reset-password-page-header"]',
|
||||
passwordResetPageHeader: '[data-cy="reset-password-header"]',
|
||||
newPasswordInputLabel: '[data-cy="new-password-input-label"]',
|
||||
newPasswordInputField: '[data-cy="new-password-input-field"]',
|
||||
newPasswordInputField: '[data-cy="new-password-input-input"]',
|
||||
confirmPasswordInputFieldLabel: '[data-cy="confirm-password-input-label"]',
|
||||
confirmPasswordInputField: '[data-cy="confirm-password-input-field"]',
|
||||
confirmPasswordInputField: '[data-cy="confirm-password-input-input"]',
|
||||
resetPasswordButton: '[data-cy="reset-password-button"]',
|
||||
resetPasswordPageDescription: '[data-cy="reset-password-page-description"]',
|
||||
backToLoginButton: '[data-cy="back-to-login-button"]',
|
||||
backToLoginButton: '[data-cy="back-to-login"]',
|
||||
breadcrumbTitle: '[data-cy="app-header-label"]>>',
|
||||
breadcrumbPageTitle: '[data-cy="breadcrumb-page-title"]',
|
||||
labelFullNameInput: '[data-cy="label-full-name-input-field"]',
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ export const ssoSelector = {
|
|||
redirectUrl: "[data-cy=redirect-url]",
|
||||
googleTile: '[data-cy="google-sign-in-text"]',
|
||||
googleIcon: "[data-cy=google-sso-icon]",
|
||||
googleSSOText: "[data-cy=google-sso-text]",
|
||||
googleSSOText: "[data-cy=google-sso-button-text]",
|
||||
git: '[data-cy="github-sso-card"]',
|
||||
gitEnableToggle: '[data-cy="github-toggle-input"]',
|
||||
githubLabel: '[data-cy="github-label"]',
|
||||
|
|
@ -43,7 +43,7 @@ export const ssoSelector = {
|
|||
gitTile: "[data-cy=git-tile]",
|
||||
gitIcon: "[data-cy=git-sso-icon]",
|
||||
gitSignInText: "[data-cy=git-sso-text]",
|
||||
gitSSOText: "[data-cy=git-sso-text]",
|
||||
gitSSOText: "[data-cy=git-sso-button-text]",
|
||||
password: "[data-cy=left-menu-items] :eq(3)",
|
||||
passwordEnableToggle: '[data-cy="password-enable-toggle"]',
|
||||
loginHelpText: "[data-cy=login-help-text]",
|
||||
|
|
|
|||
14
cypress-tests/cypress/constants/selectors/onboarding.js
Normal file
14
cypress-tests/cypress/constants/selectors/onboarding.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
export const cyParamName = (paramName = "") => {
|
||||
return paramName.toLowerCase().replace(/\s+/g, "-");
|
||||
};
|
||||
|
||||
export const onboardingSelectors = {
|
||||
emailLabel: "[data-cy='email-label']",
|
||||
emailInput: "[data-cy='email-input']",
|
||||
passwordLabel: "[data-cy='password-label']",
|
||||
passwordInput: "[data-cy='password-input']",
|
||||
signInButton: "[data-cy='sign-in-button']",
|
||||
passwordError: "[data-cy='password-error']",
|
||||
nameInput: "[data-cy='name-input']",
|
||||
nameLabel: '[data-cy="name-label"]'
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ export const commonText = {
|
|||
},
|
||||
closeButton: "modal close",
|
||||
workEmailLabel: "Email",
|
||||
emailInputError: "Invalid Email",
|
||||
emailInputError: "Email is invalid",
|
||||
passwordLabel: "Password",
|
||||
forgotPasswordLink: "Forgot?",
|
||||
loginButton: " Login",
|
||||
|
|
@ -100,11 +100,11 @@ export const commonText = {
|
|||
onboardingSeperatorText: "OR",
|
||||
getStartedButton: "Get started for free",
|
||||
emailPageHeader: "Check your mail",
|
||||
spamMessage: "Did not receive an email? Check your spam folder.",
|
||||
spamMessage: "Did not receive an email? Check your spam folder!",
|
||||
resendEmailButton: "Resend verification mail",
|
||||
editEmailButton: "Edit email address",
|
||||
emailVerifiedText: "Successfully verified email",
|
||||
continueToSetUp: "Continue to set up your workspace to start using ToolJet.",
|
||||
continueToSetUp: "Set up workspaces to manage users, applications & resources across various teams",
|
||||
createAccountCheckPoint: "Create account",
|
||||
verifyEmailCheckPoint: "Verify email",
|
||||
inalidInvitationLinkHeader: "Invalid verification link",
|
||||
|
|
@ -114,15 +114,15 @@ export const commonText = {
|
|||
forgotPasswordPageHeader: "Forgot Password",
|
||||
newToTooljetText: "New to ToolJet?",
|
||||
emailAddressLabel: "Email address",
|
||||
resetPasswordLinkButton: " Send a reset link",
|
||||
resetPasswordLinkButton: "Send a reset link",
|
||||
passwordResetEmailToast:
|
||||
"Please check your email/inbox for the password reset link",
|
||||
"Please check your email for the password reset link",
|
||||
passwordResetPageHeader: "Reset Password",
|
||||
passwordResetSuccessPageHeader: "Password has been reset",
|
||||
newPasswordInputLabel: "New Password",
|
||||
confirmPasswordInputFieldLabel: "Re-enter the password",
|
||||
newPasswordInputLabel: "New Password *",
|
||||
confirmPasswordInputFieldLabel: "Re-enter the password *",
|
||||
passwordResetSuccessToast: "Password reset successfully",
|
||||
backToLoginButton: "Back to log in",
|
||||
backToLoginButton: "Back to login",
|
||||
resetPasswordPageDescription:
|
||||
"Your password has been reset successfully, log into ToolJet to continue your session",
|
||||
labelFullNameInput: "Enter full name",
|
||||
|
|
@ -135,13 +135,13 @@ export const commonText = {
|
|||
addNewDataSourceButton: "Add new datasource",
|
||||
|
||||
emailPageDescription: (email) => {
|
||||
return `We’ve sent an email to ${email} with a verification link. Please use that to verify your email address.`;
|
||||
return `We've sent a verification email to ${email}. Click the link inside to confirm your email and continue. This helps us ensure account security.`
|
||||
},
|
||||
companyPageHeader: (userName) => {
|
||||
return `Where do you work ${userName}?`;
|
||||
},
|
||||
resetPasswordEmailDescription: (email) => {
|
||||
return `We’ve sent an email to ${email} with a password reset link. Please click on that link to reset your password.`;
|
||||
return `We've sent a password reset link to ${email}. Click the link inside to reset your password and continue.`;
|
||||
},
|
||||
userJobRole: {
|
||||
HeadOfEngineering: "Head of engineering",
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ describe(
|
|||
|
||||
logout();
|
||||
cy.wait(4000);
|
||||
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
||||
cy.get(onboardingSelectors.signInButton, { timeout: 20000 }).should(
|
||||
"be.visible"
|
||||
);
|
||||
cy.visitSlug({
|
||||
|
|
@ -80,13 +80,13 @@ describe(
|
|||
});
|
||||
cy.wait(3000);
|
||||
|
||||
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
||||
cy.get(onboardingSelectors.signInButton, { timeout: 20000 }).should(
|
||||
"be.visible"
|
||||
);
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, "dev@tooljet.io");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
|
||||
cy.wait(500);
|
||||
cy.get('[data-cy="draggable-widget-table1"]').should("be.visible");
|
||||
|
|
@ -104,7 +104,7 @@ describe(
|
|||
|
||||
logout();
|
||||
cy.wait(4000);
|
||||
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
||||
cy.get(onboardingSelectors.signInButton, { timeout: 20000 }).should(
|
||||
"be.visible"
|
||||
);
|
||||
cy.visitSlug({
|
||||
|
|
@ -149,13 +149,13 @@ describe(
|
|||
|
||||
logout();
|
||||
cy.wait(4000);
|
||||
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
||||
cy.get(onboardingSelectors.signInButton, { timeout: 20000 }).should(
|
||||
"be.visible"
|
||||
);
|
||||
|
||||
cy.visitSlug({ actualUrl: `/applications/${data.slug}` });
|
||||
|
||||
cy.login("test@tooljet.com", "password");
|
||||
cy.appUILogin("test@tooljet.com", "password");
|
||||
cy.get(commonSelectors.allApplicationLink).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.allApplicationLink
|
||||
|
|
@ -188,7 +188,7 @@ describe(
|
|||
cy.wait(1000);
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
cy.wait(1000);
|
||||
cy.get(ssoSelector.workspaceSubHeader).verifyVisibleElement(
|
||||
|
|
@ -211,7 +211,7 @@ describe(
|
|||
|
||||
logout();
|
||||
cy.wait(4000);
|
||||
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
||||
cy.get(onboardingSelectors.signInButton, { timeout: 20000 }).should(
|
||||
"be.visible"
|
||||
);
|
||||
cy.visitSlug({ actualUrl: `/applications/${data.slug}` });
|
||||
|
|
@ -258,8 +258,8 @@ describe(
|
|||
cy.get(commonSelectors.createAnAccountLink).click();
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.firstName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
|
||||
cy.apiLogin();
|
||||
|
|
|
|||
|
|
@ -40,12 +40,12 @@ describe("Self host onboarding", () => {
|
|||
"have.text",
|
||||
commonText.emailInputLabel
|
||||
);
|
||||
cy.get(commonSelectors.emailInputField).should("be.visible");
|
||||
cy.get(onboardingSelectors.emailInput).should("be.visible");
|
||||
cy.get(commonSelectors.passwordLabel).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.passwordLabel
|
||||
);
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
|
||||
cy.get(commonSelectors.passwordHelperText).verifyVisibleElement(
|
||||
"have.text",
|
||||
|
|
@ -67,8 +67,8 @@ describe("Self host onboarding", () => {
|
|||
.and("equal", "https://www.tooljet.com/privacy");
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, "The Developer");
|
||||
cy.clearAndType(commonSelectors.emailInputField, "dev@tooljet.io");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.emailInput, "dev@tooljet.io");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.continueButton).click();
|
||||
|
||||
signup.selfHostCommonElements();
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ import { commonText } from "Texts/common";
|
|||
import { fake } from "Fixtures/fake";
|
||||
import { addNewUser } from "Support/utils/onboarding";
|
||||
import { logout } from "Support/utils/common";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
describe("Password reset functionality", () => {
|
||||
const data = {};
|
||||
let passwordResetLink = "";
|
||||
|
||||
|
||||
it("Verify wrong password limit", () => {
|
||||
data.firstName = fake.firstName;
|
||||
data.email = fake.email.toLowerCase();
|
||||
|
|
@ -17,22 +19,23 @@ describe("Password reset functionality", () => {
|
|||
logout();
|
||||
|
||||
for (let i = 0; i < 5; i++) {
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "passw");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "passw");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
"Invalid credentials"
|
||||
);
|
||||
}
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "passw");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "passw");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
"Maximum password retry limit reached, please reset your password using forgot password option"
|
||||
);
|
||||
});
|
||||
|
||||
it("Verify forgot password page elements and functionality", () => {
|
||||
cy.visit("/");
|
||||
cy.get(commonSelectors.forgotPasswordLink).click();
|
||||
|
|
@ -41,59 +44,57 @@ describe("Password reset functionality", () => {
|
|||
"have.text",
|
||||
commonText.forgotPasswordPageHeader
|
||||
);
|
||||
cy.get(commonSelectors.forgotPasswordPageSubHeader).should(($el) => {
|
||||
expect($el.contents().first().text().trim()).to.eq(
|
||||
"New to"
|
||||
);
|
||||
});
|
||||
cy.get(commonSelectors.forgotPasswordPageSubHeader).verifyVisibleElement(
|
||||
"have.text",
|
||||
"New to ToolJet? Create an account"
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.createAnAccountLink).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.createAnAccountLink
|
||||
);
|
||||
cy.get(commonSelectors.emailInputLabel).verifyVisibleElement(
|
||||
|
||||
cy.get('[data-cy="email-input-field-label"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailAddressLabel
|
||||
"Email address *"
|
||||
);
|
||||
cy.get(commonSelectors.emailInputField).should("be.visible");
|
||||
|
||||
cy.get('[data-cy="email-input-field-input"]').should("be.visible");
|
||||
cy.get(commonSelectors.resetPasswordLinkButton)
|
||||
.verifyVisibleElement("have.text", commonText.resetPasswordLinkButton)
|
||||
.and("be.disabled");
|
||||
cy.get(commonSelectors.enterIcon).should("be.visible");
|
||||
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType('[data-cy="email-input-field-input"]', data.email);
|
||||
cy.get(commonSelectors.resetPasswordLinkButton).click();
|
||||
|
||||
cy.get("body").then(($title) => {
|
||||
if (!$title.text().includes("Forgot Password")) {
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
commonText.passwordResetEmailToast
|
||||
);
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
cy.get(commonSelectors.emailImage).should("be.visible");
|
||||
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailPageHeader
|
||||
);
|
||||
cy.get(commonSelectors.onboardingPageDescription).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.resetPasswordEmailDescription(data.email)
|
||||
);
|
||||
cy.get(commonSelectors.spamMessage).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.spamMessage
|
||||
);
|
||||
cy.get(commonSelectors.onboardingSeperator).should("be.visible");
|
||||
cy.get(commonSelectors.onboardingSeperatorText).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.onboardingSeperatorText
|
||||
);
|
||||
cy.get(commonSelectors.backToLoginButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.backToLoginButton
|
||||
);
|
||||
}
|
||||
});
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
commonText.passwordResetEmailToast
|
||||
);
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
|
||||
cy.get('[data-cy="check-your-mail-header"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
"Check your mail"
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.onboardingPageDescription).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.resetPasswordEmailDescription(data.email)
|
||||
);
|
||||
cy.get(commonSelectors.spamMessage).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.spamMessage
|
||||
);
|
||||
cy.get(commonSelectors.onboardingSeperator).should("be.visible");
|
||||
cy.get(commonSelectors.onboardingSeperatorText).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.onboardingSeperatorText
|
||||
);
|
||||
cy.get(commonSelectors.backToLoginButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.backToLoginButton
|
||||
);
|
||||
|
||||
cy.task("updateId", {
|
||||
dbconfig: Cypress.env("app_db"),
|
||||
|
|
@ -123,13 +124,14 @@ describe("Password reset functionality", () => {
|
|||
commonText.confirmPasswordInputFieldLabel
|
||||
);
|
||||
cy.get(commonSelectors.confirmPasswordInputField).should("be.visible");
|
||||
cy.get(commonSelectors.passwordHelperText)
|
||||
.eq(1)
|
||||
.verifyVisibleElement("have.text", commonText.passwordHelperText);
|
||||
cy.get(commonSelectors.passwordHelperText).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.passwordHelperText
|
||||
);
|
||||
cy.get(commonSelectors.resetPasswordButton)
|
||||
.verifyVisibleElement("have.text", commonText.resetPasswordButton)
|
||||
.and("be.disabled");
|
||||
cy.get(commonSelectors.enterIcon).should("be.visible");
|
||||
// cy.get(commonSelectors.enterIcon).should("be.visible");
|
||||
|
||||
cy.clearAndType(commonSelectors.newPasswordInputField, "Pass");
|
||||
cy.get(commonSelectors.resetPasswordButton).should("be.disabled");
|
||||
|
|
@ -148,8 +150,10 @@ describe("Password reset functionality", () => {
|
|||
|
||||
cy.clearAndType(commonSelectors.newPasswordInputField, "Password");
|
||||
cy.clearAndType(commonSelectors.confirmPasswordInputField, "password");
|
||||
cy.get(commonSelectors.resetPasswordButton).click();
|
||||
cy.verifyToastMessage(commonSelectors.toastMessage, "Password don't match");
|
||||
cy.get('[data-cy="confirm-password-input-error"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
"Passwords don't match"
|
||||
);
|
||||
|
||||
cy.clearAndType(commonSelectors.newPasswordInputField, "Password");
|
||||
cy.clearAndType(commonSelectors.confirmPasswordInputField, "Password");
|
||||
|
|
@ -160,7 +164,7 @@ describe("Password reset functionality", () => {
|
|||
);
|
||||
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
cy.get(commonSelectors.passwordResetPageHeader).verifyVisibleElement(
|
||||
cy.get('[data-cy="password-has-been-reset-header"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.passwordResetSuccessPageHeader
|
||||
);
|
||||
|
|
@ -175,9 +179,9 @@ describe("Password reset functionality", () => {
|
|||
});
|
||||
it("Verify user login using new password", () => {
|
||||
cy.visit("/");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "Password");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "Password");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.get(commonSelectors.workspaceName).should("be.visible");
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import { commonSelectors } from "Selectors/common";
|
||||
import { fake } from "Fixtures/fake";
|
||||
import { commonText, path } from "Texts/common";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
|
||||
describe("Login functionality", () => {
|
||||
let user;
|
||||
|
|
@ -20,11 +22,11 @@ describe("Login functionality", () => {
|
|||
"have.text",
|
||||
commonText.signInHeader
|
||||
);
|
||||
cy.get(commonSelectors.workEmailLabel).verifyVisibleElement(
|
||||
cy.get(onboardingSelectors.emailLabel).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.workEmailLabel
|
||||
"Email *"
|
||||
);
|
||||
cy.get(commonSelectors.passwordLabel).should(($el) => {
|
||||
cy.get(onboardingSelectors.passwordLabel).should(($el) => {
|
||||
expect($el.contents().first().text().trim()).to.eq(
|
||||
commonText.passwordLabel
|
||||
);
|
||||
|
|
@ -33,53 +35,41 @@ describe("Login functionality", () => {
|
|||
"have.text",
|
||||
commonText.forgotPasswordLink
|
||||
);
|
||||
cy.get(commonSelectors.loginButton).verifyVisibleElement(
|
||||
cy.get(onboardingSelectors.signInButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.loginButton
|
||||
"Sign in"
|
||||
);
|
||||
cy.get(onboardingSelectors.signInButton).should('be.disabled')
|
||||
|
||||
cy.get(commonSelectors.workEmailInputField).should("be.visible");
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.get(onboardingSelectors.emailInput).should("be.visible");
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
});
|
||||
it("Should not be able to login with invalid credentials", () => {
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.emailInput,
|
||||
"test"
|
||||
);
|
||||
cy.get(commonSelectors.emailInputError).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailInputError
|
||||
);
|
||||
cy.get(onboardingSelectors.signInButton).should('be.disabled');
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, invalidEmail);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
commonText.loginErrorToast
|
||||
);
|
||||
cy.get(onboardingSelectors.emailInput).clear();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, invalidPassword);
|
||||
cy.get(onboardingSelectors.signInButton).should('be.disabled');
|
||||
|
||||
cy.get(commonSelectors.workEmailInputField).clear();
|
||||
cy.clearAndType(commonSelectors.passwordInputField, invalidPassword);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.get(commonSelectors.emailInputError).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailInputError
|
||||
);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, user.email);
|
||||
cy.get(onboardingSelectors.passwordInput).clear();
|
||||
cy.get(onboardingSelectors.signInButton).should('be.disabled');
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, user.email);
|
||||
cy.get(commonSelectors.passwordInputField).clear();
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
commonText.loginErrorToast
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.workEmailInputField).clear();
|
||||
cy.clearAndType(commonSelectors.passwordInputField, user.password);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.get(commonSelectors.emailInputError).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailInputError
|
||||
);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, user.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "Pass")
|
||||
cy.get(onboardingSelectors.passwordError).verifyVisibleElement("have.text", "Password must be at least 5 characters long")
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, invalidPassword);
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.verifyToastMessage(commonSelectors.toastMessage, "Invalid credentials")
|
||||
});
|
||||
it("Should be able to login with valid credentials", () => {
|
||||
cy.login(user.email, user.password);
|
||||
cy.appUILogin(user.email, user.password);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ import {
|
|||
verifyandModifyUserRole,
|
||||
verifyandModifySizeOftheCompany,
|
||||
} from "Support/utils/selfHostSignUp";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
|
||||
describe("User signup", () => {
|
||||
const data = {};
|
||||
|
|
@ -28,9 +30,10 @@ describe("User signup", () => {
|
|||
cy.get(commonSelectors.createAnAccountLink).realClick();
|
||||
SignUpPageElements();
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.fullName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.get(onboardingSelectors.nameInput).clear(); // Break the chain
|
||||
cy.get(onboardingSelectors.nameInput).type(data.fullName); // Requery the element
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.wait(500);
|
||||
verifyConfirmEmailPage(data.email);
|
||||
|
|
@ -43,19 +46,46 @@ describe("User signup", () => {
|
|||
cy.visit(invitationLink);
|
||||
});
|
||||
|
||||
verifyConfirmPageElements();
|
||||
cy.get(commonSelectors.setUpToolJetButton).click();
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
cy.get('[data-cy="set-up-your-workspace!-header"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
"Set up your workspace!"
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.onboardingPageDescription).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.continueToSetUp
|
||||
);
|
||||
cy.get('[data-cy="onboarding-workspace-name-label"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
"Workspace name *"
|
||||
);
|
||||
cy.get('[data-cy="onboarding-workspace-name-input"]').should('be.visible')
|
||||
|
||||
cy.wait(1000)
|
||||
cy.clearAndType('[data-cy="onboarding-workspace-name-input"]', data.workspaceName)
|
||||
cy.get('[data-cy="onboarding-submit-button"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
"Continue"
|
||||
);
|
||||
cy.get('[data-cy="onboarding-submit-button"]').click();
|
||||
cy.wait(4000);
|
||||
verifyOnboardingQuestions(data.fullName, data.workspaceName);
|
||||
|
||||
cy.skipWalkthrough();
|
||||
//verifyOnboardingQuestions(data.fullName, data.workspaceName); Add env flags for EE and Cloud
|
||||
|
||||
//Add validation for the application
|
||||
});
|
||||
it("Verify invalid invitation link", () => {
|
||||
cy.log(invitationLink)
|
||||
cy.visit(invitationLink);
|
||||
verifyInvalidInvitationLink();
|
||||
cy.get(commonSelectors.backtoSignUpButton).click();
|
||||
// cy.get(commonSelectors.backtoSignUpButton).click();
|
||||
cy.get(commonSelectors.pageLogo).click()
|
||||
cy.get(commonSelectors.SignUpSectionHeader).should("be.visible");
|
||||
});
|
||||
it("Verify onboarding flow", () => {
|
||||
it.skip("Verify onboarding flow", () => {
|
||||
// rewrite for for EE and cloud
|
||||
data.fullName = fake.fullName;
|
||||
data.email = fake.email.toLowerCase().replaceAll("[^A-Za-z]", "");
|
||||
data.workspaceName = fake.companyName;
|
||||
|
|
@ -63,16 +93,17 @@ describe("User signup", () => {
|
|||
cy.visit("/");
|
||||
cy.get(commonSelectors.createAnAccountLink).realClick();
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.fullName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.get(onboardingSelectors.nameInput).clear();
|
||||
cy.get(onboardingSelectors.nameInput).type(data.fullName);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.wait(8000);
|
||||
cy.get(commonSelectors.resendEmailButton).click();
|
||||
cy.get(commonSelectors.editEmailButton).click();
|
||||
cy.get(commonSelectors.nameInputField).verifyVisibleElement("have.value", data.fullName)
|
||||
cy.get(commonSelectors.emailInputField).verifyVisibleElement("have.value", data.email);
|
||||
cy.get(commonSelectors.passwordInputField).verifyVisibleElement("have.value", "");
|
||||
cy.get(onboardingSelectors.nameInput).verifyVisibleElement("have.value", data.fullName)
|
||||
cy.get(onboardingSelectors.emailInput).verifyVisibleElement("have.value", data.email);
|
||||
cy.get(onboardingSelectors.passwordInput).verifyVisibleElement("have.value", "");
|
||||
|
||||
cy.task("updateId", {
|
||||
dbconfig: Cypress.env("app_db"),
|
||||
|
|
|
|||
|
|
@ -31,12 +31,27 @@ describe("dashboard", () => {
|
|||
data.cloneAppName = `cloned-${data.appName}`;
|
||||
data.updatedFolderName = `new-${data.folderName}`;
|
||||
|
||||
|
||||
beforeEach(() => {
|
||||
cy.intercept("GET", "/api/library_apps").as("appLibrary");
|
||||
cy.intercept("DELETE", "/api/folders/*").as("folderDeleted");
|
||||
cy.skipWalkthrough();
|
||||
});
|
||||
|
||||
it.only("", () => {
|
||||
const customLayout = {
|
||||
desktop: { top: 100, left: 20 },
|
||||
mobile: { width: 8, height: 50 },
|
||||
};
|
||||
|
||||
cy.apiLogin();
|
||||
cy.apiCreateApp(data.appName);
|
||||
cy.openApp();
|
||||
console.log(Cypress.env("appId"))
|
||||
cy.pause()
|
||||
cy.addComponentToApp(Cypress.env("appId"), customLayout)
|
||||
})
|
||||
|
||||
it("should verify the elements on empty dashboard", () => {
|
||||
cy.intercept("GET", "/api/apps?page=1&folder=&searchKey=", {
|
||||
fixture: "intercept/emptyDashboard.json",
|
||||
|
|
@ -59,7 +74,7 @@ describe("dashboard", () => {
|
|||
"My workspace"
|
||||
);
|
||||
cy.get(commonSelectors.workspaceName).click();
|
||||
cy.get(commonSelectors.editRectangleIcon).should("be.visible");
|
||||
// cy.get(commonSelectors.editRectangleIcon).should("be.visible");
|
||||
cy.get(commonSelectors.appCreateButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
"Create an app"
|
||||
|
|
|
|||
|
|
@ -53,16 +53,16 @@ describe("user invite flow cases", () => {
|
|||
SignUpPageElements();
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.signUpName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
signUpLink(data.email);
|
||||
cy.get(commonSelectors.setUpToolJetButton).click();
|
||||
verifyOnboardingQuestions(data.signUpName, data.workspaceName);
|
||||
visitWorkspaceInvitation(data.email, "My workspace");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, usersText.password);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, usersText.password);
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
|
||||
cy.get(commonSelectors.invitedUserName).verifyVisibleElement(
|
||||
"have.text",
|
||||
|
|
@ -99,8 +99,8 @@ describe("user invite flow cases", () => {
|
|||
);
|
||||
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.signUpName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
|
|
@ -121,8 +121,8 @@ describe("user invite flow cases", () => {
|
|||
|
||||
cy.get(commonSelectors.createAnAccountLink).click();
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.firstName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
|
|
@ -137,8 +137,8 @@ describe("user invite flow cases", () => {
|
|||
|
||||
cy.get(commonSelectors.createAnAccountLink).click();
|
||||
cy.clearAndType(commonSelectors.nameInputField, data.firstName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, data.email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
|
||||
cy.defaultWorkspaceLogin();
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ import { groupsSelector } from "Selectors/manageGroups";
|
|||
import { groupsText } from "Texts/manageGroups";
|
||||
import { addNewUser, visitWorkspaceInvitation } from "Support/utils/onboarding";
|
||||
import { commonText } from "Texts/common";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
|
||||
const data = {};
|
||||
|
||||
|
|
@ -72,7 +74,7 @@ describe("Manage Users", () => {
|
|||
|
||||
});
|
||||
|
||||
it("Should verify the confirm invite page and new user account", () => {
|
||||
it.only("Should verify the confirm invite page and new user account", () => {
|
||||
data.firstName = fake.firstName;
|
||||
data.email = fake.email.toLowerCase().replaceAll("[^A-Za-z]", "");
|
||||
// cy.removeAssignedApps();
|
||||
|
|
@ -84,9 +86,9 @@ describe("Manage Users", () => {
|
|||
fetchAndVisitInviteLink(data.email);
|
||||
confirmInviteElements(data.email);
|
||||
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "pass");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "pass");
|
||||
cy.get(commonSelectors.signUpButton).should("be.disabled");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, usersText.password);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, usersText.password);
|
||||
cy.get(commonSelectors.signUpButton).should("not.be.disabled");
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
|
||||
|
|
@ -156,8 +158,8 @@ describe("Manage Users", () => {
|
|||
logout();
|
||||
cy.visit("/");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, usersText.password);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, usersText.password);
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
|
||||
updateWorkspaceName(data.email);
|
||||
cy.get(commonSelectors.workspaceName).click();
|
||||
|
|
@ -178,7 +180,7 @@ describe("Manage Users", () => {
|
|||
visitWorkspaceInvitation(data.email, "My workspace");
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
cy.get(usersSelector.acceptInvite).click();
|
||||
cy.verifyToastMessage(commonSelectors.toastMessage, usersText.inviteToast);
|
||||
|
|
@ -406,7 +408,7 @@ describe("Manage Users", () => {
|
|||
visitWorkspaceInvitation(data.email, workspaceName);
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
cy.get(usersSelector.acceptInvite).click();
|
||||
cy.verifyToastMessage(commonSelectors.toastMessage, usersText.inviteToast);
|
||||
|
|
|
|||
|
|
@ -185,15 +185,15 @@ describe("Profile Settings", () => {
|
|||
common.logout();
|
||||
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, commonText.email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.verifyToastMessage(
|
||||
commonSelectors.toastMessage,
|
||||
profileText.loginErrorToast
|
||||
);
|
||||
|
||||
cy.clearAndType(
|
||||
commonSelectors.passwordInputField,
|
||||
onboardingSelectors.passwordInput,
|
||||
profileText.newPassword
|
||||
);
|
||||
cy.get(commonSelectors.signInButton).click();
|
||||
|
|
@ -213,7 +213,7 @@ describe("Profile Settings", () => {
|
|||
|
||||
common.logout();
|
||||
|
||||
cy.login(commonText.email, profileText.password);
|
||||
cy.appUILogin(commonText.email, profileText.password);
|
||||
common.logout();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ import {
|
|||
export const login = () => {
|
||||
cy.visit("/");
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, "dev@tooljet.io");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
};
|
||||
|
||||
export const modifyAndVerifyAppCardIcon = (appName) => {
|
||||
|
|
|
|||
|
|
@ -236,8 +236,8 @@ export const workspaceLoginPageElements = (workspaceName) => {
|
|||
|
||||
export const passwordLoginVisible = () => {
|
||||
cy.get(commonSelectors.workEmailInputField).should("be.visible");
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.get(commonSelectors.loginButton).verifyVisibleElement(
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
cy.get(onboardingSelectors.signInButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.loginButton
|
||||
);
|
||||
|
|
@ -245,8 +245,8 @@ export const passwordLoginVisible = () => {
|
|||
|
||||
export const workspaceLogin = (workspaceName) => {
|
||||
cy.clearAndType(commonSelectors.workEmailInputField, "dev@tooljet.io");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.get(commonSelectors.loginButton).click();
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(onboardingSelectors.signInButton).click();
|
||||
cy.wait(2000);
|
||||
cy.get(commonSelectors.homePageLogo).should("be.visible");
|
||||
cy.get(commonSelectors.workspaceName).verifyVisibleElement(
|
||||
|
|
@ -295,13 +295,13 @@ export const signInPageElements = () => {
|
|||
"have.text",
|
||||
commonText.forgotPasswordLink
|
||||
);
|
||||
cy.get(commonSelectors.loginButton).verifyVisibleElement(
|
||||
cy.get(onboardingSelectors.signInButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.loginButton
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.workEmailInputField).should("be.visible");
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
|
||||
cy.get("body").then(($el) => {
|
||||
if ($el.text().includes("Google")) {
|
||||
|
|
@ -477,7 +477,7 @@ export const invitePageElements = () => {
|
|||
"have.text",
|
||||
commonText.passwordLabel
|
||||
);
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
cy.get(commonSelectors.acceptInviteButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.acceptInviteButton
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import { ssoSelector } from "Selectors/manageSSO";
|
|||
import { ssoText } from "Texts/manageSSO";
|
||||
import * as common from "Support/utils/common";
|
||||
import { commonText } from "Texts/common";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
|
||||
export const manageUsersElements = () => {
|
||||
cy.get(commonSelectors.breadcrumbTitle).should(($el) => {
|
||||
|
|
@ -150,7 +152,7 @@ export const manageUsersElements = () => {
|
|||
export const inviteUser = (firstName, email) => {
|
||||
cy.userInviteApi(firstName, email);
|
||||
fetchAndVisitInviteLink(email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.acceptInviteButton).click();
|
||||
};
|
||||
|
||||
|
|
@ -242,8 +244,8 @@ export const copyInvitationLink = (firstName, email) => {
|
|||
|
||||
export const fillUserInviteForm = (firstName, email) => {
|
||||
cy.get(usersSelector.buttonAddUsers).click();
|
||||
cy.clearAndType(commonSelectors.inputFieldFullName, firstName);
|
||||
cy.clearAndType(commonSelectors.inputFieldEmailAddress, email);
|
||||
cy.clearAndType(onboardingSelectors.nameInput, firstName);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, email);
|
||||
};
|
||||
|
||||
export const selectUserGroup = (groupName) => {
|
||||
|
|
@ -293,7 +295,7 @@ export const inviteUserWithUserGroups = (
|
|||
|
||||
cy.wait(1000);
|
||||
fetchAndVisitInviteLink(email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
// cy.intercept('GET', '/api/organizations').as('org')
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.wait(2000);
|
||||
|
|
@ -372,7 +374,7 @@ export const inviteUserWithUserRole = (
|
|||
|
||||
cy.wait(1000);
|
||||
fetchAndVisitInviteLink(email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.wait(2000);
|
||||
cy.get(commonSelectors.acceptInviteButton).click();
|
||||
|
|
|
|||
|
|
@ -8,11 +8,12 @@ import {
|
|||
import { navigateToManageUsers, logout } from "Support/utils/common";
|
||||
import { ssoSelector } from "Selectors/manageSSO";
|
||||
import { ssoText } from "Texts/manageSSO";
|
||||
import { onboardingSelectors } from "Selectors/onboarding";
|
||||
|
||||
|
||||
export const verifyConfirmEmailPage = (email) => {
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
cy.get(commonSelectors.emailImage).should("be.visible");
|
||||
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
|
||||
cy.get('[data-cy="check-your-mail-header"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailPageHeader
|
||||
);
|
||||
|
|
@ -31,30 +32,14 @@ export const verifyConfirmEmailPage = (email) => {
|
|||
"have.text",
|
||||
commonText.onboardingSeperatorText
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.resendEmailButton).should("be.visible");
|
||||
cy.get(commonSelectors.editEmailButton).verifyVisibleElement(
|
||||
cy.get('[data-cy="back-to-signup"]').verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.editEmailButton
|
||||
"Back to sign up"
|
||||
);
|
||||
};
|
||||
|
||||
export const verifyConfirmPageElements = () => {
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
cy.get(commonSelectors.emailImage).should("be.visible");
|
||||
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.emailVerifiedText
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.onboardingPageDescription).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.continueToSetUp
|
||||
);
|
||||
cy.get(commonSelectors.setUpToolJetButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.setUpToolJetButton
|
||||
);
|
||||
};
|
||||
|
||||
export const verifyOnboardingQuestions = (fullName, workspaceName) => {
|
||||
cy.get(commonSelectors.pageLogo).should("be.visible");
|
||||
|
|
@ -136,10 +121,10 @@ export const verifyInvalidInvitationLink = () => {
|
|||
commonText.inalidInvitationLinkDescription
|
||||
);
|
||||
|
||||
cy.get(commonSelectors.backtoSignUpButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.backtoSignUpButton
|
||||
);
|
||||
// cy.get(commonSelectors.backtoSignUpButton).verifyVisibleElement(
|
||||
// "have.text",
|
||||
// commonText.backtoSignUpButton
|
||||
// );
|
||||
};
|
||||
|
||||
export const userSignUp = (fullName, email, workspaceName) => {
|
||||
|
|
@ -147,9 +132,9 @@ export const userSignUp = (fullName, email, workspaceName) => {
|
|||
cy.visit("/");
|
||||
cy.wait(1000);
|
||||
cy.get(commonSelectors.createAnAccountLink).realClick();
|
||||
cy.clearAndType(commonSelectors.nameInputField, fullName);
|
||||
cy.clearAndType(commonSelectors.emailInputField, email);
|
||||
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
||||
cy.clearAndType(onboardingSelectors.nameInput, fullName);
|
||||
cy.clearAndType(onboardingSelectors.emailInput, email);
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, commonText.password);
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
|
||||
cy.wait(500);
|
||||
|
|
@ -211,8 +196,8 @@ export const inviteUser = (firstName, email) => {
|
|||
cy.userInviteApi(firstName, email);
|
||||
fetchAndVisitInviteLink(email);
|
||||
cy.wait(1000);
|
||||
cy.get(commonSelectors.passwordInputField).should("be.visible");
|
||||
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
cy.clearAndType(onboardingSelectors.passwordInput, "password");
|
||||
// cy.intercept("GET", "/api/organizations").as("org");
|
||||
cy.get(commonSelectors.signUpButton).click();
|
||||
cy.wait(2000);
|
||||
|
|
@ -306,13 +291,30 @@ export const SignUpPageElements = () => {
|
|||
);
|
||||
cy.get(commonSelectors.signUpButton).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.getStartedButton
|
||||
"Sign up"
|
||||
);
|
||||
cy.get(commonSelectors.signInRedirectText).should(($el) => {
|
||||
|
||||
// cy.get('[data-cy="signup-info"]').should(($el) => {
|
||||
// expect($el.contents().first().text().trim()).to.eq(
|
||||
// commonText.signInRedirectText
|
||||
// );
|
||||
// });
|
||||
|
||||
cy.get(onboardingSelectors.nameLabel).verifyVisibleElement("have.text", "Name *");
|
||||
cy.get(onboardingSelectors.nameInput).should('be.visible');
|
||||
cy.get(onboardingSelectors.emailLabel).verifyVisibleElement(
|
||||
"have.text",
|
||||
"Email *"
|
||||
);
|
||||
cy.get(onboardingSelectors.passwordLabel).should(($el) => {
|
||||
expect($el.contents().first().text().trim()).to.eq(
|
||||
commonText.signInRedirectText
|
||||
commonText.passwordLabel
|
||||
);
|
||||
});
|
||||
|
||||
cy.get(onboardingSelectors.passwordInput).should("be.visible");
|
||||
|
||||
|
||||
cy.get(commonSelectors.signInRedirectLink).verifyVisibleElement(
|
||||
"have.text",
|
||||
commonText.signInRedirectLink
|
||||
|
|
|
|||
2444
cypress-tests/package-lock.json
generated
2444
cypress-tests/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -10,7 +10,7 @@
|
|||
"@cypress/code-coverage": "^3.12.12",
|
||||
"@cypress/webpack-preprocessor": "^5.12.0",
|
||||
"@faker-js/faker": "^7.3.0",
|
||||
"cypress": "^12.5.1"
|
||||
"cypress": "^13.16.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"cypress-real-events": "^1.7.6",
|
||||
|
|
|
|||
Loading…
Reference in a new issue