51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
import {CollectionContentTableQa} from '../../../src/shared';
|
|
import {slct} from '../../utils';
|
|
import {ElementPO} from '../common/abstract/ElementPO';
|
|
import {ContentTableRowPO} from './ContentTableRow';
|
|
|
|
type ContentTableProps = {
|
|
page: Page;
|
|
parent: string;
|
|
};
|
|
|
|
export class ContentTablePO extends ElementPO {
|
|
constructor({page, parent}: ContentTableProps) {
|
|
super({
|
|
page,
|
|
selectors: {
|
|
root: slct(CollectionContentTableQa.Table),
|
|
parent,
|
|
},
|
|
});
|
|
}
|
|
|
|
get collectionRow() {
|
|
return new ContentTableRowPO({
|
|
page: this.page,
|
|
selectors: {
|
|
parent: this.getSelector(),
|
|
root: slct(CollectionContentTableQa.CollectionLinkRow),
|
|
},
|
|
});
|
|
}
|
|
|
|
get workbookRow() {
|
|
return new ContentTableRowPO({
|
|
page: this.page,
|
|
selectors: {
|
|
parent: this.getSelector(),
|
|
root: slct(CollectionContentTableQa.WorkbookLinkRow),
|
|
},
|
|
});
|
|
}
|
|
|
|
async clickCollectionRowLink() {
|
|
await this.collectionRow.clickRowLink();
|
|
}
|
|
|
|
async clickWorkbookRowLink() {
|
|
await this.workbookRow.clickRowLink();
|
|
}
|
|
}
|