-
-
Notifications
You must be signed in to change notification settings - Fork 157
/
date-picker.e2e.ts
106 lines (85 loc) · 3.33 KB
/
date-picker.e2e.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import { test } from "@playwright/test"
import { DatePickerModel } from "./models/datepicker.model"
let I: DatePickerModel
test.describe("datepicker [single]", () => {
test.beforeEach(async ({ page }) => {
I = new DatePickerModel(page)
await I.goto()
})
test("should have no accessibility violation", async () => {
await I.clickTrigger()
await I.checkAccessibility()
})
test("opens the calendar on click trigger and focus on current date", async () => {
await I.clickTrigger()
await I.seeContent()
await I.seeTodayCellIsFocused()
})
test("closes the calendar on esc", async () => {
await I.clickTrigger()
await I.pressKey("Escape")
await I.dontSeeContent()
})
test("selecting a date with pointer", async () => {
await I.clickTrigger()
await I.clickTodayCell()
await I.dontSeeContent()
await I.seeInputIsFocused()
})
test("navigates to next day on ArrowRight key press", async () => {
await I.clickTrigger()
await I.pressKey("ArrowRight")
await I.seeNextDayCellIsFocused()
})
test("navigates to previous day on ArrowLeft key press", async () => {
await I.clickTrigger()
await I.pressKey("ArrowLeft")
await I.seePrevDayCellIsFocused()
})
test("navigates to previous week on ArrowUp key press", async () => {
await I.clickTrigger()
await I.pressKey("ArrowUp")
await I.seePrevDayCellIsFocused({ step: 7 })
})
test("navigates to next week on ArrowDown key press", async () => {
await I.clickTrigger()
await I.pressKey("ArrowDown")
await I.seeNextDayCellIsFocused({ step: 7 })
})
test("navigates to first day of the month on Home key press", async () => {
await I.clickTrigger()
await I.pressKey("Home")
await I.seeFirstDayCellIsFocused()
})
test("navigates to last day of the month on End key press", async () => {
await I.clickTrigger()
await I.pressKey("End")
await I.seeLastDayCellIsFocused()
})
test("should close datepicker popup upon click on a date", async () => {
await I.clickTrigger()
await I.seeContent()
await I.clickDayCell(5)
await I.dontSeeContent()
})
// test("click trigger + focus input + selection, set value in input", async () => {
// await I.clickTrigger()
// await I.seeContent()
// await I.focusInput()
// await I.seeContent()
// // 5th day
// await I.clickDayCell(5)
// const day = I.getDate({ day: 5 })
// await I.seeInputHasValue(day.formatted)
// })
// test("updates the calendar when a year selected from the dropdown", async ({ page }) => {})
// test("updates the calendar when a month selected from the dropdown", async ({ page }) => {})
// test("navigates to next week on ArrowDown key press", async ({ page }) => {})
// test("navigates to previous week on ArrowUp key press", async ({ page }) => {})
// test("navigates to next month on PageDown key press", async ({ page }) => {})
// test("navigates to previous month on PageUp key press", async ({ page }) => {})
// test("navigates to next year on Shift+PageDown key press", async ({ page }) => {})
// test("navigates to previous year on Shift+PageUp key press", async ({ page }) => {})
// test("renders previous month when the left arrow is clicked", async ({ page }) => {})
// test("renders next month when the right arrow is clicked", async ({ page }) => {})
})