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.
35 lines
1.2 KiB
35 lines
1.2 KiB
import { expect } from '@playwright/test'; |
|
import { CellPageObject } from '.'; |
|
import BasePage from '../../../Base'; |
|
|
|
export class RatingCellPageObject extends BasePage { |
|
readonly cell: CellPageObject; |
|
|
|
constructor(cell: CellPageObject) { |
|
super(cell.rootPage); |
|
this.cell = cell; |
|
} |
|
|
|
get({ index, columnHeader }: { index?: number; columnHeader: string }) { |
|
return this.cell.get({ index, columnHeader }); |
|
} |
|
|
|
async select({ index, columnHeader, rating }: { index?: number; columnHeader: string; rating: number }) { |
|
await this.get({ index, columnHeader }).scrollIntoViewIfNeeded(); |
|
await this.waitForResponse({ |
|
uiAction: async () => |
|
await this.get({ index, columnHeader }) |
|
.locator('.ant-rate-star > div') |
|
.nth(rating - 1) |
|
.click(), |
|
httpMethodsToMatch: ['POST', 'PATCH'], |
|
requestUrlPathToMatch: 'api/v1/db/data/noco/', |
|
}); |
|
} |
|
|
|
async verify({ index, columnHeader, rating }: { index: number; columnHeader: string; rating: number }) { |
|
const cell = this.get({ index, columnHeader }); |
|
await cell.scrollIntoViewIfNeeded(); |
|
await expect(cell.locator(`li.ant-rate-star.ant-rate-star-full`)).toHaveCount(rating); |
|
} |
|
}
|
|
|