mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-27 10:49:44 +00:00
feat(tests): updated filter between tests (#4488)
Signed-off-by: Alex Velichko <nestor_007@mail.ru>
This commit is contained in:
parent
d60b0c9266
commit
f3a07f976d
@ -1,5 +1,6 @@
|
|||||||
import { expect, Locator, Page } from '@playwright/test'
|
import { expect, Locator, Page } from '@playwright/test'
|
||||||
import { CalendarPage } from '../calendar-page'
|
import { CalendarPage } from '../calendar-page'
|
||||||
|
import { DateDivided } from './types'
|
||||||
|
|
||||||
export class CommonTrackerPage extends CalendarPage {
|
export class CommonTrackerPage extends CalendarPage {
|
||||||
readonly page: Page
|
readonly page: Page
|
||||||
@ -65,16 +66,63 @@ export class CommonTrackerPage extends CalendarPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async fillBetweenDate (dateStart: string, dateEnd: string): Promise<void> {
|
async fillBetweenDate (dateStart: DateDivided, dateEnd: DateDivided): Promise<void> {
|
||||||
|
// TODO removed after bug fixed
|
||||||
|
if (dateStart.day === '30' || dateEnd.day === '30') {
|
||||||
|
await this.page.locator('div.date-popup-container div.day:not(.wrongMonth)', { hasText: '30' }).first().click()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dateStart.day === '31' || dateEnd.day === '31') {
|
||||||
|
await this.page.locator('div.date-popup-container div.day:not(.wrongMonth)', { hasText: '31' }).first().click()
|
||||||
|
}
|
||||||
|
|
||||||
|
// dateStart - day
|
||||||
await this.page
|
await this.page
|
||||||
.locator('div.date-popup-container div.input:first-child span.digit:first-child')
|
.locator('div.date-popup-container div.input:first-child span.digit:first-child')
|
||||||
.click({ delay: 100 })
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
await this.page.type('div.date-popup-container div.input:first-child', dateStart)
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:first-child span.digit:first-child')
|
||||||
|
.pressSequentially(dateStart.day)
|
||||||
|
|
||||||
|
// dateStart - month
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:first-child span.digit:nth-child(3)')
|
||||||
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:first-child span.digit:nth-child(3)')
|
||||||
|
.pressSequentially(dateStart.month)
|
||||||
|
|
||||||
|
// dateStart - year
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:first-child span.digit:nth-child(5)')
|
||||||
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:first-child span.digit:nth-child(5)')
|
||||||
|
.pressSequentially(dateStart.year)
|
||||||
|
|
||||||
|
// dateEnd - day
|
||||||
await this.page
|
await this.page
|
||||||
.locator('div.date-popup-container div.input:last-child span.digit:first-child')
|
.locator('div.date-popup-container div.input:last-child span.digit:first-child')
|
||||||
.click({ delay: 100 })
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
await this.page.type('div.date-popup-container div.input:last-child', dateEnd)
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:last-child span.digit:first-child')
|
||||||
|
.pressSequentially(dateEnd.day)
|
||||||
|
|
||||||
|
// dateEnd - month
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:last-child span.digit:nth-child(3)')
|
||||||
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:last-child span.digit:nth-child(3)')
|
||||||
|
.pressSequentially(dateEnd.month)
|
||||||
|
|
||||||
|
// dateEnd - year
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:last-child span.digit:nth-child(5)')
|
||||||
|
.click({ delay: 100, position: { x: 1, y: 1 } })
|
||||||
|
await this.page
|
||||||
|
.locator('div.date-popup-container div.input:last-child span.digit:nth-child(5)')
|
||||||
|
.pressSequentially(dateEnd.year)
|
||||||
|
|
||||||
await this.page.locator('div.date-popup-container button[type="submit"]').click({ delay: 100 })
|
await this.page.locator('div.date-popup-container button[type="submit"]').click({ delay: 100 })
|
||||||
}
|
}
|
||||||
|
@ -46,3 +46,9 @@ export interface NewComponent {
|
|||||||
description?: string
|
description?: string
|
||||||
lead?: string
|
lead?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface DateDivided {
|
||||||
|
day: string
|
||||||
|
month: string
|
||||||
|
year: string
|
||||||
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test'
|
|||||||
import { generateId, iterateLocator, PlatformSetting, PlatformURI } from '../utils'
|
import { generateId, iterateLocator, PlatformSetting, PlatformURI } from '../utils'
|
||||||
import { LeftSideMenuPage } from '../model/left-side-menu-page'
|
import { LeftSideMenuPage } from '../model/left-side-menu-page'
|
||||||
import { IssuesPage } from '../model/tracker/issues-page'
|
import { IssuesPage } from '../model/tracker/issues-page'
|
||||||
import { NewIssue } from '../model/tracker/types'
|
import { DateDivided, NewIssue } from '../model/tracker/types'
|
||||||
import { allure } from 'allure-playwright'
|
import { allure } from 'allure-playwright'
|
||||||
import { DEFAULT_STATUSES, DEFAULT_STATUSES_ID, PRIORITIES } from './tracker.utils'
|
import { DEFAULT_STATUSES, DEFAULT_STATUSES_ID, PRIORITIES } from './tracker.utils'
|
||||||
import { IssuesDetailsPage } from '../model/tracker/issues-details-page'
|
import { IssuesDetailsPage } from '../model/tracker/issues-details-page'
|
||||||
@ -88,23 +88,24 @@ test.describe('Tracker filters tests', () => {
|
|||||||
await issuesPage.checkFilteredIssueExist(newIssue.title)
|
await issuesPage.checkFilteredIssueExist(newIssue.title)
|
||||||
})
|
})
|
||||||
|
|
||||||
await test.step('Check Filter Check Filter Between Dates', async () => {
|
await test.step('Check Filter Between Dates', async () => {
|
||||||
await issuesPage.updateFilterDimension('Between dates')
|
await issuesPage.updateFilterDimension('Between dates')
|
||||||
const dateYesterday = new Date()
|
const dateYesterday = new Date()
|
||||||
dateYesterday.setDate(dateYesterday.getDate() - 1)
|
dateYesterday.setDate(dateYesterday.getDate() - 1)
|
||||||
const dateTomorrow = new Date()
|
const dateTomorrow = new Date()
|
||||||
dateTomorrow.setDate(dateTomorrow.getDate() + 1)
|
dateTomorrow.setDate(dateTomorrow.getDate() + 1)
|
||||||
|
const dateYesterdayDivided: DateDivided = {
|
||||||
|
day: dateYesterday.getDate().toString(),
|
||||||
|
month: (dateYesterday.getMonth() + 1).toString(),
|
||||||
|
year: dateYesterday.getFullYear().toString()
|
||||||
|
}
|
||||||
|
const dateTomorrowDivided: DateDivided = {
|
||||||
|
day: dateTomorrow.getDate().toString(),
|
||||||
|
month: (dateTomorrow.getMonth() + 1).toString(),
|
||||||
|
year: dateTomorrow.getFullYear().toString()
|
||||||
|
}
|
||||||
|
|
||||||
const dateYesterdayString = `${dateYesterday.getDate().toString().padStart(2, '0')}${(
|
await issuesPage.fillBetweenDate(dateYesterdayDivided, dateTomorrowDivided)
|
||||||
dateYesterday.getMonth() + 1
|
|
||||||
)
|
|
||||||
.toString()
|
|
||||||
.padStart(2, '0')}${dateYesterday.getFullYear()}`
|
|
||||||
const dateTomorrowString = `${dateTomorrow.getDate().toString().padStart(2, '0')}${(dateTomorrow.getMonth() + 1)
|
|
||||||
.toString()
|
|
||||||
.padStart(2, '0')}${dateTomorrow.getFullYear()}`
|
|
||||||
|
|
||||||
await issuesPage.fillBetweenDate(dateYesterdayString, dateTomorrowString)
|
|
||||||
await issuesPage.checkFilter('Modified date', 'is between', dateYesterday.getDate().toString())
|
await issuesPage.checkFilter('Modified date', 'is between', dateYesterday.getDate().toString())
|
||||||
await issuesPage.checkFilter('Modified date', 'is between', dateTomorrow.getDate().toString())
|
await issuesPage.checkFilter('Modified date', 'is between', dateTomorrow.getDate().toString())
|
||||||
|
|
||||||
@ -189,17 +190,18 @@ test.describe('Tracker filters tests', () => {
|
|||||||
dateYesterday.setDate(dateYesterday.getDate() - 1)
|
dateYesterday.setDate(dateYesterday.getDate() - 1)
|
||||||
const dateTomorrow = new Date()
|
const dateTomorrow = new Date()
|
||||||
dateTomorrow.setDate(dateTomorrow.getDate() + 1)
|
dateTomorrow.setDate(dateTomorrow.getDate() + 1)
|
||||||
|
const dateYesterdayDivided: DateDivided = {
|
||||||
|
day: dateYesterday.getDate().toString(),
|
||||||
|
month: (dateYesterday.getMonth() + 1).toString(),
|
||||||
|
year: dateYesterday.getFullYear().toString()
|
||||||
|
}
|
||||||
|
const dateTomorrowDivided: DateDivided = {
|
||||||
|
day: dateTomorrow.getDate().toString(),
|
||||||
|
month: (dateTomorrow.getMonth() + 1).toString(),
|
||||||
|
year: dateTomorrow.getFullYear().toString()
|
||||||
|
}
|
||||||
|
|
||||||
const dateYesterdayString = `${dateYesterday.getDate().toString().padStart(2, '0')}${(
|
await issuesPage.fillBetweenDate(dateYesterdayDivided, dateTomorrowDivided)
|
||||||
dateYesterday.getMonth() + 1
|
|
||||||
)
|
|
||||||
.toString()
|
|
||||||
.padStart(2, '0')}${dateYesterday.getFullYear()}`
|
|
||||||
const dateTomorrowString = `${dateTomorrow.getDate().toString().padStart(2, '0')}${(dateTomorrow.getMonth() + 1)
|
|
||||||
.toString()
|
|
||||||
.padStart(2, '0')}${dateTomorrow.getFullYear()}`
|
|
||||||
|
|
||||||
await issuesPage.fillBetweenDate(dateYesterdayString, dateTomorrowString)
|
|
||||||
await issuesPage.checkFilter('Created date', 'is between', dateYesterday.getDate().toString())
|
await issuesPage.checkFilter('Created date', 'is between', dateYesterday.getDate().toString())
|
||||||
await issuesPage.checkFilter('Created date', 'is between', dateTomorrow.getDate().toString())
|
await issuesPage.checkFilter('Created date', 'is between', dateTomorrow.getDate().toString())
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user