-
-
Notifications
You must be signed in to change notification settings - Fork 157
/
menu.e2e.ts
60 lines (51 loc) · 1.56 KB
/
menu.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
import { test } from "@playwright/test"
import { MenuModel } from "./models/menu.model"
let I: MenuModel
test.describe("menu", () => {
test.beforeEach(async ({ page }) => {
I = new MenuModel(page)
await I.goto()
})
test("should have no accessibility violation", async () => {
await I.checkAccessibility()
})
test("on arrow up and down, change highlighted item", async () => {
await I.clickTrigger()
await I.pressKey("ArrowDown", 2)
await I.seeItemIsHighlighted("Duplicate")
await I.pressKey("ArrowUp")
await I.seeItemIsHighlighted("Edit")
})
test("on typeahead, highlight matching item", async () => {
await I.clickTrigger()
await I.type("E")
await I.seeItemIsHighlighted("Edit")
await I.type("E")
await I.seeItemIsHighlighted("Export")
})
test("when closeOnSelect=false, stay open on selection", async () => {
await I.controls.bool("closeOnSelect", false)
await I.clickTrigger()
await I.pressKey("ArrowDown")
await I.pressKey("Enter")
await I.seeDropdown()
})
test("hover out, clear highlighted item", async () => {
await I.clickViz()
await I.clickTrigger()
await I.hoverItem("Delete")
await I.hoverOut()
await I.dontSeeHighlightedItem()
})
test("with keyboard, can select item", async () => {
await I.clickTrigger()
await I.pressKey("ArrowDown")
await I.pressKey("Enter")
await I.dontSeeDropdown()
})
test("on click outside, close menu", async () => {
await I.clickTrigger()
await I.clickOutside()
await I.dontSeeDropdown()
})
})