-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathclick-everything.e2e.ts
70 lines (63 loc) · 2.21 KB
/
click-everything.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
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* Copyright Oxide Computer Company
*/
import { expectNotVisible, expectVisible, test } from './utils'
test.beforeEach(async ({ page }) => {
await page.goto('/projects/mock-project')
})
test('Click through instance page', async ({ page }) => {
await expectVisible(page, ['role=heading[name*="Instances"]', 'role=cell[name="db1"]'])
await page.click('role=link[name="db1"]')
await expectVisible(page, [
'role=heading[name*=db1]',
'role=tab[name="Storage"]',
'role=tab[name="Metrics"]',
'role=tab[name="Networking"]',
'role=cell[name="disk-1"]',
'role=cell[name="disk-2"]',
// buttons disabled while instance is running
'role=button[name="Create disk"][disabled]',
'role=button[name="Attach existing disk"][disabled]',
// TODO: assert minitable contents
])
await expectNotVisible(page, ['role=cell[name="disk-3"]'])
})
test('Click through disks page', async ({ page }) => {
await page.click('role=link[name*="Disks"]')
await expectVisible(page, [
'role=heading[name*="Disks"]',
'role=cell[name="disk-1"]',
'role=cell[name="disk-2"]',
'role=cell[name="disk-3"]',
'role=cell[name="disk-4"]',
])
await page.click('role=cell[name="db1"] >> role=link')
await expectVisible(page, ["role=heading[name*='db1']"])
await page.goBack()
// TODO: assert that disks 1-3 are attached and 4 is not
// Create disk form
await page.click('role=link[name="New Disk"]')
await expectVisible(page, [
'role=heading[name*="Create disk"]',
'role=textbox[name="Name"]',
'role=textbox[name="Description"]',
'role=radiogroup[name="Block size (Bytes)"]',
'role=textbox[name="Size (GiB)"]',
'role=button[name="Create disk"]',
])
await page.goBack()
})
test('Click through images', async ({ page }) => {
await page.click('role=link[name*="Images"]')
await expectVisible(page, [
'role=heading[name*="Images"]',
'role=cell[name="image-1"]',
'role=cell[name="image-2"]',
'role=cell[name="image-3"]',
'role=cell[name="image-4"]',
])
})