@camunda/e2e-test-suite 0.0.1010 → 0.0.1011
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -104,9 +104,14 @@ class FormJsPage {
|
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
106
|
await scopeSelect.click();
|
|
107
|
-
|
|
107
|
+
// The scope select is a Radix UI Select: its listbox is portalled to
|
|
108
|
+
// document.body, OUTSIDE the dialog element, so a dialog-scoped option
|
|
109
|
+
// query never resolves even while the option is visible on screen. Query
|
|
110
|
+
// the portalled option at page scope instead; the trigger above stays
|
|
111
|
+
// dialog-scoped because it renders inside the dialog.
|
|
112
|
+
await this.page
|
|
108
113
|
.getByRole('option', { name: 'Only this resource' })
|
|
109
|
-
.or(this.
|
|
114
|
+
.or(this.page.getByText('Only this resource', { exact: true }))
|
|
110
115
|
.first()
|
|
111
116
|
.click({ timeout: 30000 });
|
|
112
117
|
}
|
|
@@ -56,8 +56,10 @@ class NavigationPage {
|
|
|
56
56
|
});
|
|
57
57
|
// TODO: Drop support for Identity once we fully rename it to Admin
|
|
58
58
|
this.identityPageBanner = page
|
|
59
|
+
.getByRole('link', { name: 'Camunda Admin', exact: true })
|
|
60
|
+
.or(page
|
|
59
61
|
.locator('a')
|
|
60
|
-
.filter({ hasText: /^Camunda logo\s*(Identity|Admin)$/ })
|
|
62
|
+
.filter({ hasText: /^Camunda logo\s*(Identity|Admin)$/ }))
|
|
61
63
|
.first();
|
|
62
64
|
this.managementIdentityPageBanner = page
|
|
63
65
|
.locator('a')
|
|
@@ -19,34 +19,57 @@ class OCIdentityHomePage {
|
|
|
19
19
|
constructor(page) {
|
|
20
20
|
this.page = page;
|
|
21
21
|
this.adminBanner = page
|
|
22
|
-
.
|
|
23
|
-
.filter({ hasText: /^Camunda logo\s*Admin$/ })
|
|
22
|
+
.getByRole('link', { name: 'Camunda Admin', exact: true })
|
|
23
|
+
.or(page.locator('a').filter({ hasText: /^Camunda logo\s*Admin$/ }))
|
|
24
24
|
.first();
|
|
25
25
|
this.groupsTab = page
|
|
26
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
27
|
+
.getByRole('link', { name: 'Groups', exact: true })
|
|
28
|
+
.or(page
|
|
26
29
|
.getByRole('banner')
|
|
27
30
|
.locator('a')
|
|
28
|
-
.filter({ hasText: /^Groups$/ })
|
|
31
|
+
.filter({ hasText: /^Groups$/ }))
|
|
32
|
+
.first();
|
|
29
33
|
this.mappingRulesTab = page
|
|
34
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
35
|
+
.getByRole('link', { name: 'Mapping rules', exact: true })
|
|
36
|
+
.or(page
|
|
30
37
|
.getByRole('banner')
|
|
31
38
|
.locator('a')
|
|
32
|
-
.filter({ hasText: /^Mapping rules$/ })
|
|
39
|
+
.filter({ hasText: /^Mapping rules$/ }))
|
|
33
40
|
.first();
|
|
34
41
|
this.tenantsTab = page
|
|
42
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
43
|
+
.getByRole('link', { name: 'Tenants', exact: true })
|
|
44
|
+
.or(page
|
|
35
45
|
.getByRole('banner')
|
|
36
46
|
.locator('a')
|
|
37
|
-
.filter({ hasText: /^Tenants$/ })
|
|
47
|
+
.filter({ hasText: /^Tenants$/ }))
|
|
48
|
+
.first();
|
|
38
49
|
this.rolesTab = page
|
|
50
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
51
|
+
.getByRole('link', { name: 'Roles', exact: true })
|
|
52
|
+
.or(page
|
|
39
53
|
.getByRole('banner')
|
|
40
54
|
.locator('a')
|
|
41
|
-
.filter({ hasText:
|
|
55
|
+
.filter({ hasText: /^Roles$/ }))
|
|
56
|
+
.first();
|
|
42
57
|
this.authorizationsTab = page
|
|
58
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
59
|
+
.getByRole('link', { name: 'Authorizations', exact: true })
|
|
60
|
+
.or(page
|
|
43
61
|
.getByRole('banner')
|
|
44
62
|
.locator('a')
|
|
45
|
-
.filter({ hasText: /^Authorizations$/ })
|
|
63
|
+
.filter({ hasText: /^Authorizations$/ }))
|
|
64
|
+
.first();
|
|
46
65
|
this.clusterVariablesTab = page
|
|
66
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
67
|
+
.getByRole('link', { name: 'Cluster variables', exact: true })
|
|
68
|
+
.or(page
|
|
47
69
|
.getByRole('banner')
|
|
48
70
|
.locator('a')
|
|
49
|
-
.filter({ hasText: /Cluster variables/i })
|
|
71
|
+
.filter({ hasText: /Cluster variables/i }))
|
|
72
|
+
.first();
|
|
50
73
|
this.licenseKeyTagNonProduction = page
|
|
51
74
|
.getByText('Non-production license')
|
|
52
75
|
.first();
|
|
@@ -87,9 +87,12 @@ class OCIdentityRolesPage {
|
|
|
87
87
|
});
|
|
88
88
|
this.adminRole = page.getByRole('cell', { name: 'admin', exact: true });
|
|
89
89
|
this.rolesNavTab = page
|
|
90
|
+
.getByRole('navigation', { name: 'Main navigation' })
|
|
91
|
+
.getByRole('link', { name: 'Roles', exact: true })
|
|
92
|
+
.or(page
|
|
90
93
|
.getByRole('banner')
|
|
91
94
|
.locator('a')
|
|
92
|
-
.filter({ hasText: /^Roles$/ })
|
|
95
|
+
.filter({ hasText: /^Roles$/ }))
|
|
93
96
|
.first();
|
|
94
97
|
this.assignUserButton = page.getByRole('button', { name: 'Assign user' });
|
|
95
98
|
this.usernameTextBox = page.getByRole('textbox', { name: 'Username' });
|
|
@@ -8,9 +8,18 @@ class SettingsPage {
|
|
|
8
8
|
openUserSidebarButton;
|
|
9
9
|
constructor(page) {
|
|
10
10
|
this.page = page;
|
|
11
|
-
this.openSettingsButton = page
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
this.openSettingsButton = page
|
|
12
|
+
.getByRole('button', { name: /^User menu/ })
|
|
13
|
+
.or(page.getByLabel('Open Settings'))
|
|
14
|
+
.first();
|
|
15
|
+
this.openUserSidebarButton = page
|
|
16
|
+
.getByRole('button', { name: /^User menu/ })
|
|
17
|
+
.or(page.getByLabel('Open User Sidebar'))
|
|
18
|
+
.first();
|
|
19
|
+
this.logoutButton = page
|
|
20
|
+
.getByRole('menuitem', { name: /log out/i })
|
|
21
|
+
.or(page.getByRole('button', { name: 'Log out' }))
|
|
22
|
+
.first();
|
|
14
23
|
}
|
|
15
24
|
async clickOpenSettingsButton() {
|
|
16
25
|
await this.openSettingsButton.click({ timeout: 120000 });
|