update onboarding tests

This commit is contained in:
Staschalapko 2024-06-14 17:26:32 +03:00
parent 46dd4d3469
commit bb5b26a0b7
4 changed files with 115 additions and 151 deletions

View File

@ -146,8 +146,11 @@ exports.DashboardPage = class DashboardPage extends BasePage {
this.onboardingNewsCheckbox = page.locator('label[for="newsletter-news"]');
this.onboardingCreateTeamInput = page.locator('input[class*="team-name-input"]');
this.onboardingContinueCreateTeamBtn = page.locator('button[label="Continue creating team"]');
this.onboardingContinueWithoutTeamBtn = page.locator('button[class*="onboarding_team_choice__accept-button"]').nth(1);
this.onboardingInviteInput = page.locator('input[class*="components_forms__inside-input"]');
this.onboardingCreateTeamButton = page.locator('button[class*="main_ui_onboarding_team_choice__accept-button"]')
this.onboardingCreateTeamButton = page.locator('button[class*="main_ui_onboarding_team_choice__accept-button"]');
this.onboardingFirstHeader = page.locator('*[class*="onboarding_questions__modal-title"]');
}
async createFileViaPlaceholder() {
@ -647,7 +650,7 @@ exports.DashboardPage = class DashboardPage extends BasePage {
}
async selectTeamSize(option) {
await this.planingToUsingDropdown.click();
await this.planingToUsingDropdown.last().click();
const optionSelector = await this.page.locator(`li span:has-text("${option}")`);
await optionSelector.click();
}
@ -679,4 +682,72 @@ exports.DashboardPage = class DashboardPage extends BasePage {
async clickOnOnboardingCreateTeamButton() {
await this.onboardingCreateTeamButton.click();
}
async fillOnboardingQuestions() {
await expect(this.onboardingFirstHeader).toHaveText('Help us get to know you');
await this.selectRadioButton('Work');
await this.selectDropdownOptions('Testing before self-hosting');
await this.clickOnNextButton();
await this.selectFigmaTool();
await this.clickOnNextButton();
await this.selectKindOfWork('Development');
await this.selectRole('Team member');
await this.selectTeamSize('11-30');
await this.clickOnNextButton();
await this.selectGetStartedQuestion('Prototyping');
await this.clickOnNextButton();
await this.selectRadioButton('YouTube');
await this.clickOnStartButton();
await this.clickOnOnboardingContinueBtn();
await this.clickOnOnboardingContinueWithoutTeamButton();
}
async fillOnboardingFirstQuestions() {
await expect(this.onboardingFirstHeader).toHaveText('Help us get to know you');
await this.selectRadioButton('Work');
await this.selectDropdownOptions('Testing before self-hosting');
await this.clickOnNextButton();
await this.selectFigmaTool();
await this.clickOnNextButton();
await this.selectKindOfWork('Development');
await this.selectRole('Team member');
await this.selectTeamSize('11-30');
await this.clickOnNextButton();
await this.selectGetStartedQuestion('Prototyping');
await this.clickOnNextButton();
await this.selectRadioButton('YouTube');
await this.clickOnStartButton();
}
async selectRadioButton(name) {
await this.page.locator(`label[class*="radio-label"]:has-text("${name}") span`).first().click();
}
async selectGetStartedQuestion(name) {
await this.page.locator(`span[class*="forms__image-text"]:has-text("${name}")`).click();
}
async selectDropdownOptions(option) {
await this.planingToUsingDropdown.click();
const optionSelector = await this.page.locator(`li span:has-text("${option}")`);
await optionSelector.click();
}
async selectKindOfWork(option) {
await this.planingToUsingDropdown.first().click();
const optionSelector = await this.page.locator(`li span:has-text("${option}")`);
await optionSelector.click();
}
async selectRole(option) {
await this.planingToUsingDropdown.nth(1).click();
const optionSelector = await this.page.locator(`li span:has-text("${option}")`);
await optionSelector.click();
}
async clickOnOnboardingContinueWithoutTeamButton() {
await this.onboardingContinueWithoutTeamBtn.isVisible()
? await this.onboardingContinueWithoutTeamBtn.click()
: null;
}
};

View File

@ -511,7 +511,7 @@ test.describe(() => {
await page.waitForTimeout(30000);
const firstInvite = await getRegisterMessage(firstEmail);
const secondInvite = await getRegisterMessage(secondEmail);
const user = process.env.CI ? 'QA Engineer' : 'k8q6byz';
const user = process.env.CI ? 'QA Engineer' : 'QA Engineer';//'k8q6byz';
await checkInviteText(firstInvite.inviteText, team, user);
await checkInviteText(secondInvite.inviteText, team, user);
await profilePage.logout();
@ -525,11 +525,7 @@ test.describe(() => {
await registerPage.enterFullName(firstEditor);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -541,11 +537,7 @@ test.describe(() => {
await registerPage.enterFullName(secondEditor);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -618,11 +610,7 @@ test.describe(() => {
await registerPage.enterFullName(mainAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openInvitationsPageViaOptionsMenu();
@ -660,11 +648,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -676,11 +660,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -725,11 +705,7 @@ test.describe(() => {
await page.waitForTimeout(30000);
const register = await getRegisterMessage(secondEmail);
await page.goto(register.inviteUrl);
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -793,11 +769,7 @@ test.describe(() => {
await registerPage.enterFullName(mainAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openInvitationsPageViaOptionsMenu();
@ -859,11 +831,7 @@ test.describe(() => {
await registerPage.enterFullName(secondUser);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
@ -938,11 +906,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -954,11 +918,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1044,11 +1004,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -1060,11 +1016,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1119,15 +1071,11 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
const owner = process.env.CI ? 'QA Engineer' : 'k8q6byz';
const owner = process.env.CI ? 'QA Engineer' : 'QA Engineer';//'k8q6byz';
await teamPage.isMemberRoleInPopUpNotDisplayed(owner, 'Owner');
},
);
@ -1179,11 +1127,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openInvitationsPageViaOptionsMenu();
@ -1229,11 +1173,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1276,11 +1216,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1324,11 +1260,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
@ -1388,11 +1320,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -1404,11 +1332,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1473,11 +1397,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -1489,11 +1409,7 @@ test.describe(() => {
await registerPage.enterFullName(secondAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openMembersPageViaOptionsMenu();
@ -1557,11 +1473,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await teamPage.openInvitationsPageViaOptionsMenu();
await teamPage.isMultipleInvitationRecordDisplayed(
@ -1627,11 +1539,7 @@ test.describe(() => {
await page.waitForTimeout(30000);
const register = await getRegisterMessage(secondEmail);
await page.goto(register.inviteUrl);
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -1712,11 +1620,7 @@ test.describe(() => {
await page.waitForTimeout(30000);
const register = await getRegisterMessage(secondEmail);
await page.goto(register.inviteUrl);
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await profilePage.logout();
await loginPage.isLoginPageOpened();
@ -1804,11 +1708,7 @@ test.describe(() => {
await registerPage.enterFullName(firstAdmin);
await registerPage.clickOnAcceptTermsCheckbox();
await registerPage.clickOnCreateAccountSecondBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await teamPage.isTeamSelected(team);
await profilePage.logout();

View File

@ -53,11 +53,7 @@ test.describe(() => {
await page.waitForTimeout(30000);
invite = await getRegisterMessage(email);
await page.goto(invite.inviteUrl);
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
});
test(qase(49,'ON-22 Forgot password flow'), async ({ page }) => {

View File

@ -87,18 +87,19 @@ test.describe(() => {
const dashboardPage = new DashboardPage(page);
const teamPage = new TeamPage(page);
await page.goto(invite.inviteUrl);
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.selectPlaningToUsing('Start to work on my project');
await dashboardPage.clickOnNextButton();
await dashboardPage.fillSecondOnboardPage('none', 'some', 'a-lot');
await dashboardPage.selectFigmaTool();
await dashboardPage.clickOnNextButton();
await dashboardPage.selectOnboardingOtherRole('QA');
await dashboardPage.selectTeamSize('11-30');
await dashboardPage.clickOnStartButton();
// await dashboardPage.isOnboardingNextBtnDisplayed();
// await dashboardPage.clickOnOnboardingNextBtn();
// await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
// await dashboardPage.clickOnOnboardingNextBtn();
// await dashboardPage.selectPlaningToUsing('Start to work on my project');
// await dashboardPage.clickOnNextButton();
// await dashboardPage.fillSecondOnboardPage('none', 'some', 'a-lot');
// await dashboardPage.selectFigmaTool();
// await dashboardPage.clickOnNextButton();
// await dashboardPage.selectOnboardingOtherRole('QA');
// await dashboardPage.selectTeamSize('11-30');
// await dashboardPage.clickOnStartButton();
await dashboardPage.fillOnboardingFirstQuestions();
await dashboardPage.isOnboardingNewsHeaderDisplayed();
await dashboardPage.isOnboardingNewsUpdatesCheckboxDisplayed();
await dashboardPage.isOnboardingNewsCheckboxDisplayed();
@ -125,11 +126,7 @@ test(qase(36,'ON-9 Create demo account'), async ({ page }) => {
await loginPage.clickOnCreateAccount();
await registerPage.isRegisterPageOpened();
await registerPage.clickOnCreateDemoAccountBtn();
await dashboardPage.isOnboardingNextBtnDisplayed();
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.checkOnboardingWelcomeHeader('Before you start');
await dashboardPage.clickOnOnboardingNextBtn();
await dashboardPage.reloadPage();
await dashboardPage.fillOnboardingQuestions();
await dashboardPage.isHeaderDisplayed('Projects');
});