mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-20 07:10:02 +00:00
feat(tests): TESTS-171 done Check validation steps test (#4558)
Signed-off-by: Alex Velichko <nestor_007@mail.ru>
This commit is contained in:
parent
2f6c46da59
commit
7510879147
@ -79,4 +79,16 @@ export class CommonPage {
|
|||||||
async closeNotification (page: Page): Promise<void> {
|
async closeNotification (page: Page): Promise<void> {
|
||||||
await page.locator('div.notify-container button[type="button"].small').nth(0).click()
|
await page.locator('div.notify-container button[type="button"].small').nth(0).click()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async checkError (page: Page, errorMessage: string): Promise<void> {
|
||||||
|
await expect(page.locator('div.ERROR span')).toHaveText(errorMessage)
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkInfo (page: Page, errorMessage: string): Promise<void> {
|
||||||
|
await expect(page.locator('div.INFO span')).toHaveText(errorMessage)
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkInfoSectionNotExist (page: Page): Promise<void> {
|
||||||
|
await expect(page.locator('div.INFO span')).not.toBeAttached()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { expect, type Locator, type Page } from '@playwright/test'
|
import { expect, type Locator, type Page } from '@playwright/test'
|
||||||
|
import { CommonPage } from './common-page'
|
||||||
|
|
||||||
export class SelectWorkspacePage {
|
export class SelectWorkspacePage extends CommonPage {
|
||||||
readonly page: Page
|
readonly page: Page
|
||||||
readonly buttonWorkspace: Locator
|
readonly buttonWorkspace: Locator
|
||||||
readonly buttonCreateWorkspace: Locator
|
readonly buttonCreateWorkspace: Locator
|
||||||
@ -8,6 +9,7 @@ export class SelectWorkspacePage {
|
|||||||
readonly buttonCreateNewWorkspace: Locator
|
readonly buttonCreateNewWorkspace: Locator
|
||||||
|
|
||||||
constructor (page: Page) {
|
constructor (page: Page) {
|
||||||
|
super()
|
||||||
this.page = page
|
this.page = page
|
||||||
this.buttonWorkspace = page.locator('div[class*="workspace"]')
|
this.buttonWorkspace = page.locator('div[class*="workspace"]')
|
||||||
this.buttonCreateWorkspace = page.locator('button > span', { hasText: 'Create workspace' })
|
this.buttonCreateWorkspace = page.locator('button > span', { hasText: 'Create workspace' })
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { expect, type Locator, type Page } from '@playwright/test'
|
import { expect, type Locator, type Page } from '@playwright/test'
|
||||||
import { SignUpData } from './common-types'
|
import { SignUpData } from './common-types'
|
||||||
|
import { CommonPage } from './common-page'
|
||||||
|
|
||||||
export class SignUpPage {
|
export class SignUpPage extends CommonPage {
|
||||||
readonly page: Page
|
readonly page: Page
|
||||||
readonly inputFirstName: Locator
|
readonly inputFirstName: Locator
|
||||||
readonly inputLastName: Locator
|
readonly inputLastName: Locator
|
||||||
@ -11,6 +12,7 @@ export class SignUpPage {
|
|||||||
readonly buttonSignUp: Locator
|
readonly buttonSignUp: Locator
|
||||||
|
|
||||||
constructor (page: Page) {
|
constructor (page: Page) {
|
||||||
|
super()
|
||||||
this.page = page
|
this.page = page
|
||||||
this.inputFirstName = page.locator('input[name="given-name"]')
|
this.inputFirstName = page.locator('input[name="given-name"]')
|
||||||
this.inputLastName = page.locator('input[name="family-name"]')
|
this.inputLastName = page.locator('input[name="family-name"]')
|
||||||
|
@ -93,4 +93,38 @@ test.describe('Workspace tests', () => {
|
|||||||
estimation: '2h'
|
estimation: '2h'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('Check validation steps description for the create flow', async ({ page }) => {
|
||||||
|
const newUser: SignUpData = {
|
||||||
|
firstName: `FirstName-${generateId()}`,
|
||||||
|
lastName: `LastName-${generateId()}`,
|
||||||
|
email: `email+${generateId()}@gmail.com`,
|
||||||
|
password: '1234'
|
||||||
|
}
|
||||||
|
const newWorkspaceName = `New Workspace Name - ${generateId(2)}`
|
||||||
|
|
||||||
|
const loginPage = new LoginPage(page)
|
||||||
|
await loginPage.goto()
|
||||||
|
await loginPage.linkSignUp.click()
|
||||||
|
|
||||||
|
const signUpPage = new SignUpPage(page)
|
||||||
|
await signUpPage.checkInfo(page, 'Required field First name')
|
||||||
|
await signUpPage.inputFirstName.fill(newUser.firstName)
|
||||||
|
await signUpPage.checkInfo(page, 'Required field Last name')
|
||||||
|
await signUpPage.inputLastName.fill(newUser.lastName)
|
||||||
|
await signUpPage.checkInfo(page, 'Required field Email')
|
||||||
|
await signUpPage.inputEmail.fill(newUser.email)
|
||||||
|
await signUpPage.checkInfo(page, 'Required field Password')
|
||||||
|
await signUpPage.inputNewPassword.fill(newUser.password)
|
||||||
|
await signUpPage.checkInfo(page, "Repeat password don't match Password")
|
||||||
|
await signUpPage.inputRepeatPassword.fill(newUser.password)
|
||||||
|
await signUpPage.checkInfoSectionNotExist(page)
|
||||||
|
await signUpPage.buttonSignUp.click()
|
||||||
|
|
||||||
|
const selectWorkspacePage = new SelectWorkspacePage(page)
|
||||||
|
await selectWorkspacePage.buttonCreateWorkspace.click()
|
||||||
|
await selectWorkspacePage.checkInfo(page, 'Required field Workspace name')
|
||||||
|
await selectWorkspacePage.buttonWorkspaceName.fill(newWorkspaceName)
|
||||||
|
await selectWorkspacePage.checkInfoSectionNotExist(page)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user