From def22deb1af8dd68eaac9751ab4c9d7092becb27 Mon Sep 17 00:00:00 2001 From: pizzament <13290951+pizzament@users.noreply.github.com> Date: Sat, 14 Sep 2024 10:51:06 +0300 Subject: [PATCH 1/2] Add test 'update workspace name' Signed-off-by: pizzament <13290951+pizzament@users.noreply.github.com> --- .../tests/model/workspace/owner-pages.ts | 10 ++++++++++ .../workspace/workspace-settings.spec.ts | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/tests/sanity/tests/model/workspace/owner-pages.ts b/tests/sanity/tests/model/workspace/owner-pages.ts index e69c398e6c..ffb7c0d820 100644 --- a/tests/sanity/tests/model/workspace/owner-pages.ts +++ b/tests/sanity/tests/model/workspace/owner-pages.ts @@ -28,6 +28,9 @@ export class OwnersPage { emailMask = (): Locator => this.page.getByRole('textbox', { name: 'Type text...' }) noLimitToggleButton = (): Locator => this.page.locator('label span') 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') async addMember (memberName: string): Promise { await expect(this.spacesAdminText()).toBeVisible() @@ -74,4 +77,11 @@ export class OwnersPage { await expect(this.avatarLarge()).toBeVisible() await expect(this.avatarLarge()).toHaveAttribute('src') } + + async updateWorkspaceName (newName: string): Promise { + await this.updateWorkspaceNameButton().click() + await this.inputWorkspaceName().fill(newName) + await this.confirmUpdateWorkspaceName().click() + await expect(this.inputWorkspaceName()).toHaveValue(newName) + } } diff --git a/tests/sanity/tests/workspace/workspace-settings.spec.ts b/tests/sanity/tests/workspace/workspace-settings.spec.ts index c74fc2f959..23f6833316 100644 --- a/tests/sanity/tests/workspace/workspace-settings.spec.ts +++ b/tests/sanity/tests/workspace/workspace-settings.spec.ts @@ -164,4 +164,23 @@ test.describe('Workspace tests', () => { await workspaceSettingsPage.selectWorkspaceSettingsTab(ButtonType.InviteSettings) 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) + }) }) From 31f1c800c90e292c02d651c45ba62b07a6016e2f Mon Sep 17 00:00:00 2001 From: pizzament <13290951+pizzament@users.noreply.github.com> Date: Sat, 14 Sep 2024 10:55:59 +0300 Subject: [PATCH 2/2] Add test 'delete workspace' Signed-off-by: pizzament <13290951+pizzament@users.noreply.github.com> --- .../tests/model/workspace/owner-pages.ts | 11 +++++++++++ .../tests/workspace/workspace-settings.spec.ts | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/tests/sanity/tests/model/workspace/owner-pages.ts b/tests/sanity/tests/model/workspace/owner-pages.ts index ffb7c0d820..13fed7ba5f 100644 --- a/tests/sanity/tests/model/workspace/owner-pages.ts +++ b/tests/sanity/tests/model/workspace/owner-pages.ts @@ -31,6 +31,9 @@ export class OwnersPage { 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 { await expect(this.spacesAdminText()).toBeVisible() @@ -84,4 +87,12 @@ export class OwnersPage { await this.confirmUpdateWorkspaceName().click() await expect(this.inputWorkspaceName()).toHaveValue(newName) } + + async deleteWorkspace (): Promise { + await this.deleteWorkspaceButton().click() + await this.cancelDeleteWorkspace().click() + await this.deleteWorkspaceButton().click() + await this.confirmDeleteWorkspace().click() + await expect(this.page.getByText('Select workspace')).toBeVisible(); + } } diff --git a/tests/sanity/tests/workspace/workspace-settings.spec.ts b/tests/sanity/tests/workspace/workspace-settings.spec.ts index 23f6833316..7f1cf4ea58 100644 --- a/tests/sanity/tests/workspace/workspace-settings.spec.ts +++ b/tests/sanity/tests/workspace/workspace-settings.spec.ts @@ -183,4 +183,22 @@ test.describe('Workspace tests', () => { 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() + }) })