mirror of
https://github.com/hcengineering/platform.git
synced 2024-12-21 10:41:04 +03:00
42 lines
1.8 KiB
TypeScript
42 lines
1.8 KiB
TypeScript
import { Locator, Page } from '@playwright/test'
|
|
import { CommonPage } from './common-page'
|
|
|
|
export class CalendarPage extends CommonPage {
|
|
readonly page: Page
|
|
readonly buttonDatePopupToday: Locator
|
|
readonly inputPopupDateDay: Locator
|
|
readonly inputPopupDateMonth: Locator
|
|
readonly inputPopupDateYear: Locator
|
|
readonly inputPopupTime: Locator
|
|
readonly inputPopupDateSave: Locator
|
|
|
|
constructor (page: Page) {
|
|
super()
|
|
this.page = page
|
|
this.buttonDatePopupToday = page.locator('div.popup div.today:not(.wrongMonth)')
|
|
this.inputPopupDateDay = page.locator('div[class*="date-popup"] div.datetime-input span.digit:first-child')
|
|
this.inputPopupDateMonth = page.locator('div[class*="date-popup"] div.datetime-input span.digit:nth-child(3)')
|
|
this.inputPopupDateYear = page.locator('div[class*="date-popup"] div.datetime-input span.digit:nth-child(5)')
|
|
this.inputPopupTime = page.locator('div[class*="date-popup"] div.datetime-input span.digit:nth-child(7)')
|
|
this.inputPopupDateSave = page.locator('div[class*="date-popup"] div.footer button')
|
|
}
|
|
|
|
async fillSelectDatePopup (day: string, month: string, year: string, time: string): Promise<void> {
|
|
await this.inputPopupDateDay.click()
|
|
await this.inputPopupDateDay.pressSequentially(day)
|
|
await this.inputPopupDateMonth.click()
|
|
await this.inputPopupDateMonth.pressSequentially(month)
|
|
await this.inputPopupDateYear.click()
|
|
await this.inputPopupDateYear.pressSequentially(year)
|
|
|
|
await this.inputPopupTime.click()
|
|
await this.inputPopupTime.pressSequentially(time)
|
|
|
|
await this.inputPopupDateSave.click()
|
|
}
|
|
|
|
async fillSelectDateByShortcut (shortcut: string): Promise<void> {
|
|
await this.page.locator('div.shift-container div.btn > span', { hasText: shortcut }).click()
|
|
}
|
|
}
|