mirror of https://github.com/nocodb/nocodb
DarkPhoenix2704
9 months ago
6 changed files with 113 additions and 6 deletions
@ -0,0 +1,45 @@ |
|||||||
|
import { Locator } from '@playwright/test'; |
||||||
|
import BasePage from '../../../Base'; |
||||||
|
import { TopbarSharePage } from './Share'; |
||||||
|
import { CalendarPage } from './index'; |
||||||
|
|
||||||
|
export class CalendarTopbarPage extends BasePage { |
||||||
|
readonly parent: CalendarPage; |
||||||
|
readonly share: TopbarSharePage; |
||||||
|
|
||||||
|
readonly today_btn: Locator; |
||||||
|
readonly prev_btn: Locator; |
||||||
|
readonly next_btn: Locator; |
||||||
|
|
||||||
|
readonly side_bar_btn: Locator; |
||||||
|
|
||||||
|
constructor(parent: CalendarPage) { |
||||||
|
super(parent.rootPage); |
||||||
|
this.parent = parent; |
||||||
|
|
||||||
|
this.next_btn = this.get().getByTestId('nc-calendar-next-btn'); |
||||||
|
this.prev_btn = this.get().getByTestId('nc-calendar-prev-btn'); |
||||||
|
this.today_btn = this.get().getByTestId('nc-calendar-today-btn'); |
||||||
|
|
||||||
|
this.side_bar_btn = this.get().getByTestId('nc-calendar-side-bar-btn'); |
||||||
|
} |
||||||
|
|
||||||
|
get() { |
||||||
|
return this.rootPage.getByTestId('nc-calendar-topbar'); |
||||||
|
} |
||||||
|
|
||||||
|
async clickPrev() { |
||||||
|
await this.prev_btn.click(); |
||||||
|
} |
||||||
|
async clickNext() { |
||||||
|
await this.next_btn.click(); |
||||||
|
} |
||||||
|
async clickToday() { |
||||||
|
await this.today_btn.click(); |
||||||
|
} |
||||||
|
|
||||||
|
async toggleSideBar() { |
||||||
|
await this.side_bar_btn.click(); |
||||||
|
await this.rootPage.waitForTimeout(500); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,28 @@ |
|||||||
|
import { DashboardPage } from '..'; |
||||||
|
import BasePage from '../../Base'; |
||||||
|
import { ToolbarPage } from '../common/Toolbar'; |
||||||
|
import { TopbarPage } from '../common/Topbar'; |
||||||
|
import { CalendarTopbarPage } from './CalendarTopBar'; |
||||||
|
|
||||||
|
export class CalendarPage extends BasePage { |
||||||
|
readonly dashboard: DashboardPage; |
||||||
|
readonly toolbar: ToolbarPage; |
||||||
|
readonly topbar: TopbarPage; |
||||||
|
readonly calendarTopbar: CalendarTopbarPage; |
||||||
|
|
||||||
|
constructor(dashboard: DashboardPage) { |
||||||
|
super(dashboard.rootPage); |
||||||
|
this.dashboard = dashboard; |
||||||
|
this.toolbar = new ToolbarPage(this); |
||||||
|
this.topbar = new TopbarPage(this); |
||||||
|
this.calendarTopbar = new CalendarTopbarPage(this); |
||||||
|
} |
||||||
|
|
||||||
|
get() { |
||||||
|
return this.get().getByTestId('nc-calendar-wrapper'); |
||||||
|
} |
||||||
|
|
||||||
|
async waitLoading() { |
||||||
|
await this.rootPage.waitForTimeout(2000); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
import BasePage from '../../../Base'; |
||||||
|
import { ToolbarPage } from './index'; |
||||||
|
|
||||||
|
export class ToolbarCalendarViewModePage extends BasePage { |
||||||
|
readonly toolbar: ToolbarPage; |
||||||
|
|
||||||
|
constructor(toolbar: ToolbarPage) { |
||||||
|
super(toolbar.rootPage); |
||||||
|
this.toolbar = toolbar; |
||||||
|
} |
||||||
|
|
||||||
|
get() { |
||||||
|
return this.rootPage.getByTestId('nc-calendar-view-mode'); |
||||||
|
} |
||||||
|
|
||||||
|
changeCalendarView({ title }: { title: string }) { |
||||||
|
await this.get().getByTestId(`nc-calendar-view-mode-${title}`).click(); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue