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.
74 lines
2.0 KiB
74 lines
2.0 KiB
1 year ago
|
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();
|
||
|
}
|
||
|
}
|