mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
73 lines
2.0 KiB
import { expect, Locator } from '@playwright/test'; |
|
import { DocsOpenedPagePage } from '.'; |
|
import BasePage from '../../../Base'; |
|
|
|
export class DocsHistoryPage extends BasePage { |
|
readonly openedPage: DocsOpenedPagePage; |
|
|
|
constructor(openedPage: DocsOpenedPagePage) { |
|
super(openedPage.rootPage); |
|
this.openedPage = openedPage; |
|
} |
|
|
|
get() { |
|
return this.openedPage.get(); |
|
} |
|
|
|
historyButton() { |
|
return this.get().getByTestId('nc-doc-page-history-button'); |
|
} |
|
|
|
historyPane() { |
|
return this.get().getByTestId('nc-doc-page-history-pane'); |
|
} |
|
|
|
historyPaneList() { |
|
return this.historyPane().getByTestId('nc-doc-page-history-pane-list'); |
|
} |
|
|
|
async clickHistoryButton() { |
|
return await this.historyButton().click(); |
|
} |
|
|
|
async verifyHistoryOpened({ isOpened }: { isOpened: boolean }) { |
|
await this.historyPane().waitFor({ state: isOpened ? 'visible' : 'hidden' }); |
|
} |
|
|
|
async verifyHistoryList({ |
|
count, |
|
items, |
|
}: { |
|
count?: number; |
|
items?: { title: string; index: number; active?: boolean }[] | undefined; |
|
}) { |
|
if (count) { |
|
await expect(this.historyPaneList().locator('.nc-doc-page-history-pane-list-item')).toHaveCount(count); |
|
} |
|
|
|
if (items) { |
|
for (const item of items) { |
|
await expect(this.historyPaneList().locator('.nc-doc-page-history-pane-list-item').nth(item.index)).toHaveText( |
|
item.title |
|
); |
|
if (item.active) { |
|
await expect( |
|
this.historyPaneList().locator('.nc-doc-page-history-pane-list-item').nth(item.index) |
|
).toHaveAttribute('aria-selected', 'true'); |
|
} |
|
} |
|
} |
|
} |
|
|
|
async clickHistoryItem({ index }: { index: number }) { |
|
await this.historyPaneList().locator('.nc-doc-page-history-pane-list-item').nth(index).click(); |
|
} |
|
|
|
async clickRestoreButton() { |
|
await this.get().getByTestId('nc-docs-history-restore-button').click(); |
|
} |
|
|
|
async clickRestoreModalConfirmButton() { |
|
await this.rootPage.getByTestId('nc-docs-history-confirm-button').click(); |
|
} |
|
}
|
|
|