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.
46 lines
1.2 KiB
46 lines
1.2 KiB
9 months ago
|
import BasePage from '../../Base';
|
||
|
import { CalendarPage } from './index';
|
||
|
|
||
|
export class CalendarWeekDatePage extends BasePage {
|
||
|
readonly parent: CalendarPage;
|
||
|
|
||
|
constructor(parent: CalendarPage) {
|
||
|
super(parent.rootPage);
|
||
|
this.parent = parent;
|
||
|
}
|
||
|
|
||
|
get() {
|
||
|
return this.rootPage.getByTestId('nc-calendar-week-view');
|
||
|
}
|
||
|
|
||
|
getRecordContainer() {
|
||
|
return this.get().getByTestId('nc-calendar-week-record-container');
|
||
|
}
|
||
|
|
||
|
async dragAndDrop({ record, dayIndex }: { record: string; dayIndex: number }) {
|
||
|
const recordContainer = this.getRecordContainer();
|
||
|
const recordCard = recordContainer.getByTestId(`nc-calendar-week-record-${record}`);
|
||
|
const toDay = this.get().getByTestId('nc-calendar-week-day').nth(dayIndex);
|
||
|
const cord = await toDay.boundingBox();
|
||
|
|
||
|
await recordCard.hover();
|
||
|
await this.rootPage.mouse.down();
|
||
|
await this.rootPage.waitForTimeout(500);
|
||
|
|
||
|
await this.rootPage.mouse.move(cord.x + cord.width / 2, cord.y + cord.height / 2);
|
||
|
await this.rootPage.mouse.up();
|
||
|
}
|
||
|
|
||
|
async selectDay({ dayIndex }: { dayIndex: number }) {
|
||
|
const day = this.get().getByTestId('nc-calendar-week-day').nth(dayIndex);
|
||
|
|
||
|
await day.click({
|
||
|
force: true,
|
||
|
position: {
|
||
|
x: 0,
|
||
|
y: 1,
|
||
|
},
|
||
|
});
|
||
|
}
|
||
|
}
|