diff --git a/tests/sanity/tests/chat/chat.spec.ts b/tests/sanity/tests/chat/chat.spec.ts index 62d734a6be..cb39b0f8ff 100644 --- a/tests/sanity/tests/chat/chat.spec.ts +++ b/tests/sanity/tests/chat/chat.spec.ts @@ -515,7 +515,7 @@ test.describe('Channel tests', () => { await channelPage.checkIfChannelTableExist('general', true) }) }) - + test('User is able to work with a channel in a sidebar', async () => { await test.step('Prepare channel', async () => { await leftSideMenuPage.clickChunter() @@ -535,61 +535,61 @@ test.describe('Channel tests', () => { await sidebarPage.checkIfSidebarIsOpen(true) await sidebarPage.checkIfSidebarTabIsOpen('chat', data.channelName) }) - + await test.step('Go to another page and check if sidebar will be keeping', async () => { await leftSideMenuPage.clickTracker() await sidebarPage.checkIfSidebarIsOpen(true) await sidebarPage.checkIfSidebarTabIsOpen('chat', data.channelName) await leftSideMenuPage.clickChunter() }) - + await test.step('Close channel in sidebar', async () => { await sidebarPage.closeOpenedVerticalTab() await sidebarPage.checkIfSidebarHasVerticalTab(false, data.channelName) await sidebarPage.checkIfSidebarIsOpen(false) }) - + await test.step('Reopen channel in sidebar', async () => { await channelPage.makeActionWithChannelInMenu(data.channelName, 'Open in sidebar new tab') await sidebarPage.checkIfSidebarHasVerticalTab(true, data.channelName) await sidebarPage.checkIfSidebarTabIsOpen('chat', data.channelName) }) - + await test.step('Open general in sidebar too', async () => { await channelPage.makeActionWithChannelInMenu('general', 'Open in sidebar new tab') await sidebarPage.checkIfSidebarHasVerticalTab(true, data.channelName) await sidebarPage.checkIfSidebarHasVerticalTab(true, 'general') await sidebarPage.checkIfSidebarTabIsOpen('chat', 'general') }) - + await test.step('Pin and unpin channel tab', async () => { await sidebarPage.pinVerticalTab(data.channelName) await sidebarPage.checkIfVerticalTabIsPinned(true, data.channelName) - + await sidebarPage.unpinVerticalTab(data.channelName) await sidebarPage.checkIfVerticalTabIsPinned(false, data.channelName) }) - + await test.step('Close sidebar tab by close button in vertical tab', async () => { await sidebarPage.clickVerticalTab(data.channelName) await sidebarPage.closeVerticalTabByCloseButton(data.channelName) await sidebarPage.checkIfSidebarHasVerticalTab(false, data.channelName) await sidebarPage.checkIfSidebarTabIsOpen('chat', 'general') }) - + await test.step('Close sidebar tab by context menu', async () => { await channelPage.makeActionWithChannelInMenu('random', 'Open in sidebar new tab') await sidebarPage.closeVerticalTabByRightClick('random') await sidebarPage.checkIfSidebarHasVerticalTab(false, 'random') await sidebarPage.checkIfSidebarTabIsOpen('chat', 'general') }) - + await test.step('Close the last channel tab in sidebar', async () => { await sidebarPage.closeVerticalTabByCloseButton('general') await sidebarPage.checkIfSidebarIsOpen(false) }) }) - + test.only('User is able to create sidebar thread automatically in a sidebar', async () => { await test.step('Prepare channel', async () => { await leftSideMenuPage.clickChunter() @@ -605,13 +605,13 @@ test.describe('Channel tests', () => { await test.step('Open channel in sidebar', async () => { await channelPage.replyToMessage('Test message', 'Reply message') - + await sidebarPage.checkIfSidebarIsOpen(true) await sidebarPage.checkIfSidebarHasVerticalTab(true, data.channelName) await sidebarPage.checkIfSidebarTabIsOpen('chat', data.channelName) await sidebarPage.checkIfSidebarTabIsOpen('chat', 'Thread') }) - + await test.step('User go to another chat and sidebar with tread disappears', async () => { await channelPage.clickChannel('random') await sidebarPage.checkIfSidebarIsOpen(false) diff --git a/tests/sanity/tests/model/sidebar-page.ts b/tests/sanity/tests/model/sidebar-page.ts index 0ac7df5a5a..33fcc7f87e 100644 --- a/tests/sanity/tests/model/sidebar-page.ts +++ b/tests/sanity/tests/model/sidebar-page.ts @@ -10,21 +10,26 @@ export class SidebarPage extends CommonPage { super(page) this.page = page } - + sidebar = (): Locator => this.page.locator('#sidebar') content = (): Locator => this.sidebar().locator('.content') - contentHeaderByTitle = (title: string): Locator => this.content().locator(`.hulyHeader-titleGroup:has-text("${title}")`) + contentHeaderByTitle = (title: string): Locator => + this.content().locator(`.hulyHeader-titleGroup:has-text("${title}")`) + contentCloseButton = (): Locator => this.content().locator('.hulyHeader-container button.iconOnly').last() - + calendarSidebarButton = (): Locator => this.sidebar().locator('button[id$="Calendar"]') officeSidebarButton = (): Locator => this.sidebar().locator('button[id$="Office"]') chatSidebutButton = (): Locator => this.sidebar().locator('button[id$="Chat"]') - + verticalTabs = (): Locator => this.sidebar().locator('.tabs').locator('.container') - verticalTabByName = (name: string): Locator => this.sidebar().locator('.tabs').locator(`.container:has-text("${name}")`) + verticalTabByName = (name: string): Locator => + this.sidebar().locator('.tabs').locator(`.container:has-text("${name}")`) + verticalTabCloseButton = (name: string): Locator => this.verticalTabByName(name).locator('.close-button button') - - // buttonOpenChannelInSidebar = + currentYear = new Date().getFullYear() + + // buttonOpenChannelInSidebar = // Actions async checkIfSidebarIsOpen (needBeOpened: boolean): Promise { @@ -34,7 +39,7 @@ export class SidebarPage extends CommonPage { await expect(this.content()).toBeHidden() } } - + async checkIfSidebarHasVerticalTab (needBeExist: boolean, tabName: string): Promise { if (needBeExist) { await expect(this.verticalTabByName(tabName)).toBeVisible() @@ -42,34 +47,34 @@ export class SidebarPage extends CommonPage { await expect(this.verticalTabByName(tabName)).toBeHidden() } } - + async clickVerticalTab (tabName: string): Promise { await this.verticalTabByName(tabName).click() } - + async closeVerticalTabByCloseButton (tabName: string): Promise { await this.verticalTabCloseButton(tabName).click() } - + async closeOpenedVerticalTab (): Promise { await this.contentCloseButton().click() } - + async pinVerticalTab (tabName: string): Promise { - await this.verticalTabByName(tabName).click({button: 'right'}) + await this.verticalTabByName(tabName).click({ button: 'right' }) await this.page.locator('.popup').locator('button:has-text("Pin")').click() } - + async unpinVerticalTab (tabName: string): Promise { - await this.verticalTabByName(tabName).click({button: 'right'}) + await this.verticalTabByName(tabName).click({ button: 'right' }) await this.page.locator('.popup').locator('button:has-text("Unpin")').click() } - + async closeVerticalTabByRightClick (tabName: string): Promise { - await this.verticalTabByName(tabName).click({button: 'right'}) + await this.verticalTabByName(tabName).click({ button: 'right' }) await this.page.locator('.popup').locator('button:has-text("Close")').click() } - + async checkIfVerticalTabIsPinned (needBePinned: boolean, tabName: string): Promise { if (needBePinned) { await expect(this.verticalTabCloseButton(tabName)).toBeHidden() @@ -77,11 +82,11 @@ export class SidebarPage extends CommonPage { await expect(this.verticalTabCloseButton(tabName)).toBeVisible() } } - + async checkNumberOfVerticalTabs (count: number): Promise { await expect(this.verticalTabs()).toHaveCount(count) } - + async checkIfSidebarTabIsOpen (type: SidebarTabTypes, tabName: string): Promise { switch (type) { case 'chat': @@ -91,7 +96,6 @@ export class SidebarPage extends CommonPage { await expect(this.contentHeaderByTitle('Office')).toBeVisible() break case 'calendar': - const currentYear = new Date().getFullYear() await expect(this.contentHeaderByTitle(tabName)).toBeVisible() break }