多维表格
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.

66 lines
2.5 KiB

import { DashboardPage } from '..';
import BasePage from '../../Base';
import { ToolbarPage } from '../common/Toolbar';
import { expect } from '@playwright/test';
import { TopbarPage } from '../common/Topbar';
import { CalendarSideMenuPage } from './CalendarSideMenu';
import { CalendarMonthPage } from './CalendarMonth';
import { CalendarYearPage } from './CalendarYear';
import { CalendarDayDateTimePage } from './CalendarDayDateTime';
import { CalendarWeekDateTimePage } from './CalendarWeekDateTime';
import { CalendarDayDatePage } from './CalendarDayDate';
import { CalendarWeekDatePage } from './CalendarWeekDate';
export class CalendarPage extends BasePage {
readonly dashboard: DashboardPage;
readonly toolbar: ToolbarPage;
readonly topbar: TopbarPage;
readonly sideMenu: CalendarSideMenuPage;
readonly calendarMonth: CalendarMonthPage;
readonly calendarYear: CalendarYearPage;
readonly calendarDayDateTime: CalendarDayDateTimePage;
readonly calendarWeekDateTime: CalendarWeekDateTimePage;
readonly calendarDayDate: CalendarDayDatePage;
readonly calendarWeekDate: CalendarWeekDatePage;
constructor(dashboard: DashboardPage) {
super(dashboard.rootPage);
this.dashboard = dashboard;
this.toolbar = new ToolbarPage(this);
this.topbar = new TopbarPage(this);
this.sideMenu = new CalendarSideMenuPage(this);
this.calendarMonth = new CalendarMonthPage(this);
this.calendarYear = new CalendarYearPage(this);
this.calendarDayDateTime = new CalendarDayDateTimePage(this);
this.calendarWeekDateTime = new CalendarWeekDateTimePage(this);
this.calendarDayDate = new CalendarDayDatePage(this);
this.calendarWeekDate = new CalendarWeekDatePage(this);
}
get() {
return this.dashboard.rootPage.getByTestId('nc-calendar-wrapper');
}
async verifySideBarClosed() {
const sideBar = this.get().getByTestId('nc-calendar-side-menu');
const classList = await sideBar.evaluate(el => [...el.classList]);
expect(classList).not.toContain('nc-calendar-side-menu-open');
}
async verifySideBarOpen() {
const sideBar = this.get().getByTestId('nc-calendar-side-menu');
const classList = await sideBar.evaluate(el => [...el.classList]);
expect(classList).toContain('nc-calendar-side-menu-open');
}
async waitLoading() {
await this.rootPage.waitForTimeout(2000);
}
async toggleSideBar() {
await this.rootPage.getByTestId('nc-calendar-side-bar-btn').click();
await this.rootPage.waitForTimeout(500);
}
}