This commit is contained in:
pizzament 2025-05-06 06:57:08 +00:00 committed by GitHub
commit 02f7a16f9c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 58 additions and 0 deletions

View File

@ -28,6 +28,12 @@ export class OwnersPage {
emailMask = (): Locator => this.page.getByRole('textbox', { name: 'Type text...' }) emailMask = (): Locator => this.page.getByRole('textbox', { name: 'Type text...' })
noLimitToggleButton = (): Locator => this.page.locator('label span') noLimitToggleButton = (): Locator => this.page.locator('label span')
avatarLarge = (): Locator => this.page.locator('.hulyAvatarSize-medium.ava-image') avatarLarge = (): Locator => this.page.locator('.hulyAvatarSize-medium.ava-image')
updateWorkspaceNameButton = (): Locator => this.page.locator('.ws > .antiButton')
confirmUpdateWorkspaceName = (): Locator => this.page.locator('.ws > button').first()
inputWorkspaceName = (): Locator => this.page.getByPlaceholder('Workspace name')
deleteWorkspaceButton = (): Locator => this.page.getByRole('button', { name: 'Delete workspace' })
cancelDeleteWorkspace = (): Locator => this.page.getByRole('button', { name: 'Cancel' })
confirmDeleteWorkspace = (): Locator => this.page.getByRole('button', { name: 'Ok' })
async addMember (memberName: string): Promise<void> { async addMember (memberName: string): Promise<void> {
await expect(this.spacesAdminText()).toBeVisible() await expect(this.spacesAdminText()).toBeVisible()
@ -74,4 +80,19 @@ export class OwnersPage {
await expect(this.avatarLarge()).toBeVisible() await expect(this.avatarLarge()).toBeVisible()
await expect(this.avatarLarge()).toHaveAttribute('src') await expect(this.avatarLarge()).toHaveAttribute('src')
} }
async updateWorkspaceName (newName: string): Promise<void> {
await this.updateWorkspaceNameButton().click()
await this.inputWorkspaceName().fill(newName)
await this.confirmUpdateWorkspaceName().click()
await expect(this.inputWorkspaceName()).toHaveValue(newName)
}
async deleteWorkspace (): Promise<void> {
await this.deleteWorkspaceButton().click()
await this.cancelDeleteWorkspace().click()
await this.deleteWorkspaceButton().click()
await this.confirmDeleteWorkspace().click()
await expect(this.page.getByText('Select workspace')).toBeVisible();
}
} }

View File

@ -164,4 +164,41 @@ test.describe('Workspace tests', () => {
await workspaceSettingsPage.selectWorkspaceSettingsTab(ButtonType.InviteSettings) await workspaceSettingsPage.selectWorkspaceSettingsTab(ButtonType.InviteSettings)
await ownersPage.createEnumWithName(enumTitle, enumName) await ownersPage.createEnumWithName(enumTitle, enumName)
}) })
test('User is able to update workspace name', async ({ page }) => {
newUser = {
firstName: faker.person.firstName(),
lastName: faker.person.lastName(),
email: faker.internet.email(),
password: '1234'
}
const newWorkspaceName = `New Workspace Name - ${generateId(2)}`
const updatedWorkspaceName = `Updated Workspace Name - ${generateId(3)}`
await loginPage.goto()
await loginPage.linkSignUp().click()
await signUpPage.signUp(newUser)
await selectWorkspacePage.createWorkspace(newWorkspaceName)
await userProfilePage.openProfileMenu()
await userProfilePage.clickSettings()
await workspaceSettingsPage.selectWorkspaceSettingsTab(ButtonType.General)
await ownersPage.updateWorkspaceName(updatedWorkspaceName)
})
test('User is able to delete workspace', async ({ page }) => {
newUser = {
firstName: faker.person.firstName(),
lastName: faker.person.lastName(),
email: faker.internet.email(),
password: '1234'
}
const newWorkspaceName = `New Workspace Name - ${generateId(2)}`
await loginPage.goto()
await loginPage.linkSignUp().click()
await signUpPage.signUp(newUser)
await selectWorkspacePage.createWorkspace(newWorkspaceName)
await userProfilePage.openProfileMenu()
await userProfilePage.clickSettings()
await workspaceSettingsPage.selectWorkspaceSettingsTab(ButtonType.General)
await ownersPage.deleteWorkspace()
})
}) })