ToolJet/cypress-tests/cypress/support/utils/onboarding.js
Ajith KV 0ce712316b
Modified CE Cypress spec for EE (#6829)
* Modify cypress spec for EE

* Modify data-cy on users table

* Fix the failing specs

* Modify test cases for action

* Fix share app test cases for action

* Revert config changes

* Modify workspace cypress config

* Added wait for bulkuser upload test case
2023-07-05 14:08:18 +05:30

170 lines
5.7 KiB
JavaScript

import { commonSelectors } from "Selectors/common";
import { commonText } from "Texts/common";
import { dashboardText } from "Texts/dashboard";
import {
verifyandModifyUserRole,
verifyandModifySizeOftheCompany,
} from "Support/utils/selfHostSignUp";
import { updateWorkspaceName } from "Support/utils/userPermissions";
export const verifyConfirmEmailPage = (email) => {
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.emailPageDescription(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.resendEmailButton).should("be.visible");
cy.get(commonSelectors.editEmailButton).verifyVisibleElement(
"have.text",
commonText.editEmailButton
);
};
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");
cy.get(commonSelectors.userAccountNameAvatar).should("be.visible");
cy.get(commonSelectors.createAccountCheckMark).should("be.visible");
cy.get(commonSelectors.createAccountCheckPoint).verifyVisibleElement(
"have.text",
commonText.createAccountCheckPoint
);
cy.get(commonSelectors.verifyEmailCheckMark).should("be.visible");
cy.get(commonSelectors.verifyEmailCheckPoint).verifyVisibleElement(
"have.text",
commonText.verifyEmailCheckPoint
);
cy.get(commonSelectors.setUpworkspaceCheckPoint).verifyVisibleElement(
"have.text",
commonText.setUpworkspaceCheckPoint
);
cy.get(commonSelectors.onboardingPorgressBubble).should("be.visible");
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
"have.text",
commonText.companyPageHeader(fullName)
);
cy.get(commonSelectors.onboardingPageSubHeader).verifyVisibleElement(
"have.text",
commonText.onboardingPageSubHeader
);
cy.get(commonSelectors.companyNameInputField).should("be.visible");
cy.get(commonSelectors.continueButton).verifyVisibleElement(
"have.text",
commonText.continueButton
);
cy.get(commonSelectors.continueButton).should("be.disabled");
cy.clearAndType(commonSelectors.companyNameInputField, workspaceName);
cy.get(commonSelectors.continueButton).should("be.enabled").click();
cy.get(commonSelectors.backArrow).should("be.visible");
cy.get(commonSelectors.backArrowText).verifyVisibleElement(
"have.text",
commonText.backArrowText
);
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
"have.text",
commonText.userRolePageHeader
);
verifyandModifyUserRole();
cy.get(commonSelectors.backArrow).should("be.visible");
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
"have.text",
commonText.sizeOftheCompanyHeader
);
verifyandModifySizeOftheCompany();
cy.get(commonSelectors.backArrow).should("be.visible");
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
"have.text",
"Enter your phone number"
);
cy.get(".form-control").should("be.visible");
cy.get(".tj-onboarding-phone-input-wrapper")
.find("input")
.type("919876543210");
cy.get(commonSelectors.continueButton).click();
};
export const verifyInvalidInvitationLink = () => {
cy.get(commonSelectors.pageLogo).should("be.visible");
cy.get(commonSelectors.emailImage).should("be.visible");
cy.get(commonSelectors.onboardingPageHeader).verifyVisibleElement(
"have.text",
commonText.inalidInvitationLinkHeader
);
cy.get(commonSelectors.onboardingPageDescription).verifyVisibleElement(
"have.text",
commonText.inalidInvitationLinkDescription
);
cy.get(commonSelectors.backtoSignUpButton).verifyVisibleElement(
"have.text",
commonText.backtoSignUpButton
);
};
export const userSignUp = (fullName, email, workspaceName) => {
let invitationLink;
cy.visit("/");
cy.get(commonSelectors.createAnAccountLink).realClick();
cy.clearAndType(commonSelectors.nameInputField, fullName);
cy.clearAndType(commonSelectors.emailInputField, email);
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
cy.get(commonSelectors.signUpButton).click();
cy.wait(500);
cy.task("updateId", {
dbconfig: Cypress.env("app_db"),
sql: `select invitation_token from users where email='${email}';`,
}).then((resp) => {
invitationLink = `/invitations/${resp.rows[0].invitation_token}`;
cy.visit(invitationLink);
cy.get(commonSelectors.setUpToolJetButton).click();
cy.wait(4000);
cy.get("body").then(($el) => {
if (!$el.text().includes(dashboardText.emptyPageHeader)) {
verifyOnboardingQuestions(fullName, workspaceName);
updateWorkspaceName(email);
} else {
updateWorkspaceName(email);
}
});
});
};