@digital-ai/devops-page-object-deploy 0.0.8 → 0.0.10

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.
package/dist/types.d.ts CHANGED
@@ -1,13 +1,22 @@
1
- import { Page } from "@playwright/test";
1
+ import { Page, Download, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, TestType } from "@playwright/test";
2
2
  declare class WithPage {
3
3
  protected readonly page: Page;
4
4
  constructor(page: Page);
5
5
  }
6
+ declare class ExplorerPage extends WithPage {
7
+ protected handleSaveToastOrAlreadyExists(): Promise<void>;
8
+ protected openRootContextMenu(rootId: string): Promise<void>;
9
+ protected ensureExplorerTreeReady(): Promise<void>;
10
+ protected closeModalIfPresent(): Promise<void>;
11
+ }
6
12
  declare class HomePage extends WithPage {
7
13
  clickUserManagement(): Promise<void>;
14
+ clickExplorer(): Promise<void>;
8
15
  verifyDeployLogoIsPresent(): Promise<void>;
9
16
  verifyDeployTextIsPresent(): Promise<void>;
10
17
  clickReports(): Promise<void>;
18
+ verifyReportsOnlyAccess(): Promise<void>;
19
+ verifyNoCiDataVisible(): Promise<void>;
11
20
  }
12
21
  declare class UserPage extends WithPage {
13
22
  createNewUser(username: string, email: string, password: string): Promise<void>;
@@ -15,44 +24,235 @@ declare class UserPage extends WithPage {
15
24
  verifyUserErrorMessage(): Promise<void>;
16
25
  deleteTheUserAndVerifyItIsDeleted(username: string): Promise<void>;
17
26
  editUserAndVerify(username: string, editfullname: string): Promise<void>;
27
+ disableUser(username: string): Promise<void>;
28
+ revokeLoginPermission(roleName: string): Promise<void>;
29
+ grantOnlyLoginAndReportPermissions(roleName: string): Promise<void>;
30
+ createRoleAndAssignUser(roleName: string, principal: string): Promise<void>;
31
+ deleteRole(roleName: string): Promise<void>;
18
32
  }
19
- declare class OverthereLocalHostPage extends WithPage {
33
+ declare class OverthereLocalHostPage extends ExplorerPage {
34
+ navigateToOverthereLocalHostPage(): Promise<void>;
35
+ openNewLocalHost(): Promise<void>;
36
+ openInfrastructureNewLocalHost(): Promise<void>;
20
37
  createHostForGivenType(name: string, type: string): Promise<void>;
38
+ /**
39
+ * Runs the "Check connection" control task on the given host node once.
40
+ * Expects the deployment plan page, executes it, waits for EXECUTED state, then finishes.
41
+ * @param hostDataId The full tree data-id, e.g. "Infrastructure/MyHost"
42
+ */
43
+ runCheckConnection(hostDataId: string): Promise<void>;
21
44
  }
22
- declare class EnvironmentsPage extends WithPage {
23
- createEnvironment(environmentName: string, hostName: string): Promise<void>;
45
+ declare class EnvironmentsPage extends ExplorerPage {
46
+ navigateToEnvironmentsPage(): Promise<void>;
47
+ createEnvironment(environmentName: string, hostName: string, dictionaryName: string): Promise<void>;
48
+ createDictionary(dictionaryName: string): Promise<void>;
24
49
  }
25
- declare class ApplicationsPage extends WithPage {
50
+ declare class ApplicationsPage extends ExplorerPage {
26
51
  taskId: string;
27
52
  executedText: string;
28
- constructor(page: Page, navigation: Navigation);
53
+ constructor(page: Page);
54
+ navigateToApplicationsPage(): Promise<void>;
29
55
  createNewApplication(applicationName: string): Promise<void>;
30
56
  createNewDeploymentPackage(applicationName: string, packageName: string): Promise<void>;
31
57
  createNewCmdApplication(values: string[]): Promise<void>;
32
58
  deployApp(values: string[]): Promise<void>;
59
+ deployAppBulk(values: string[]): Promise<void>;
60
+ verifyApplicationIsVisibleToTheUser(applicationName: string): Promise<void>;
61
+ verifyCiNodesVisibility(nodes: {
62
+ applicationName: string;
63
+ environmentName: string;
64
+ infrastructureName: string;
65
+ }, shouldBeVisible: boolean, page?: Page): Promise<void>;
66
+ }
67
+ declare class GitopsConfigurationPage extends ExplorerPage {
68
+ navigateToGitopsConfigurationPage(): Promise<void>;
69
+ openNewgitops(): Promise<void>;
70
+ openConfigurationNewgit(): Promise<void>;
71
+ createGitopsCI(ciName: string, gitData: string[]): Promise<void>;
33
72
  }
34
73
  declare class ReportsPage extends WithPage {
74
+ openDashboardTab(): Promise<void>;
75
+ openDeploymentsTab(): Promise<void>;
76
+ openControlTasksTab(): Promise<void>;
77
+ openAuditReportTab(): Promise<void>;
78
+ downloadDeploymentsExport(): Promise<Download>;
79
+ downloadControlTasksExport(): Promise<Download>;
80
+ downloadAuditReportExport(): Promise<Download>;
35
81
  clickDeploymentTasks(): Promise<void>;
36
82
  verifyTheDeploymentValues(values: string[]): Promise<void>;
37
83
  }
38
- declare class Navigation {
84
+ declare class ReportsControlTasksPage extends WithPage {
85
+ verifySelected(): Promise<void>;
86
+ verifyFiltersVisible(): Promise<void>;
87
+ hideFilters(): Promise<void>;
88
+ showFilters(): Promise<void>;
89
+ ensureFiltersVisible(): Promise<void>;
90
+ setStartDate(value: string): Promise<void>;
91
+ setEndDate(value: string): Promise<void>;
92
+ expectStartDateValue(value: string): Promise<void>;
93
+ expectEndDateValue(value: string): Promise<void>;
94
+ checkInvalidStartDateError(): Promise<void>;
95
+ checkInvalidEndDateError(): Promise<void>;
96
+ expectNoStartDateError(): Promise<void>;
97
+ expectNoEndDateError(): Promise<void>;
98
+ selectTargetsTagsFilter(text: string, optionName: string): Promise<void>;
99
+ clearTargetsTagsFirstTag(): Promise<void>;
100
+ selectStatesTagsFilter(text: string, optionName: string): Promise<void>;
101
+ clearStatesTagsFirstTag(): Promise<void>;
102
+ filterByTaskName(name: string): Promise<void>;
103
+ clearTaskName(): Promise<void>;
104
+ filterByTaskId(id: string): Promise<void>;
105
+ clearTaskId(): Promise<void>;
106
+ filterByWorker(worker: string): Promise<void>;
107
+ clearWorkerFilter(): Promise<void>;
108
+ clickMyTasks(): Promise<void>;
109
+ clickAllTasks(): Promise<void>;
110
+ clickRefresh(): Promise<void>;
111
+ verifyLastUpdatedAndRefresh(): Promise<void>;
112
+ verifyTableHasRowsOrEmpty(): Promise<void>;
113
+ verifyTableColumns(): Promise<void>;
114
+ waitForTableReady(): Promise<void>;
115
+ expectNumberOfRows(count: number): Promise<void>;
116
+ expectAtLeastNumberOfRows(count: number): Promise<void>;
117
+ expectTotal(total: number): Promise<void>;
118
+ expectAtLeastTotal(count: number): Promise<void>;
119
+ getTotalCount(): Promise<number>;
120
+ expectValue(row: number, column: string, expected: string): Promise<void>;
121
+ expectValueContains(row: number, column: string, expected: string): Promise<void>;
122
+ shouldHaveScrollBar(): Promise<void>;
123
+ sortBy(column: string): Promise<void>;
124
+ verifyIsSorted(column: string): Promise<void>;
125
+ getColumnValues(column: string): Promise<string[]>;
126
+ getLastPageNumber(): Promise<number>;
127
+ goToPage(page: number): Promise<void>;
128
+ goToFirstPage(): Promise<void>;
129
+ goToLastPage(): Promise<void>;
130
+ goToPreviousPage(): Promise<void>;
131
+ goToNextPage(): Promise<void>;
132
+ expectPage(page: number): Promise<void>;
133
+ expectPageLinkVisible(pageNumber: number): Promise<void>;
134
+ expectPaginationLinksVisible(): Promise<void>;
135
+ expectPaginationLinksHidden(): Promise<void>;
136
+ setPageSize(size: number): Promise<void>;
137
+ expectPageSize(size: number): Promise<void>;
138
+ expectPageSizes(sizes: number[]): Promise<void>;
139
+ }
140
+ declare class ReportsDashboardPage extends WithPage {
141
+ downloadDashboardExport(): Promise<Download>;
142
+ verifySummarySection(): Promise<void>;
143
+ verifyLast30DaysSection(): Promise<void>;
144
+ verifySelected(): Promise<void>;
145
+ verifyLastUpdatedAndRefresh(): Promise<void>;
146
+ verifyDateRangeDefault(): Promise<void>;
147
+ selectDateRange(optionLabel: string): Promise<void>;
148
+ verifyDateRangeHeaderContains(label: string): Promise<void>;
149
+ verifyOverviewChartsOrEmpty(): Promise<void>;
150
+ verifyDeploymentStatusLegend(): Promise<void>;
151
+ verifyButtonsFocusable(): Promise<void>;
152
+ verifyDateRangeOptions(): Promise<void>;
153
+ verifyLast6MonthsSection(): Promise<void>;
154
+ verifyKpiTileNumbers(): Promise<void>;
155
+ verifyCustomDateRangeInputs(): Promise<void>;
156
+ }
157
+ declare class ReportsDeploymentsPage extends WithPage {
158
+ verifySelected(): Promise<void>;
159
+ verifyFiltersVisible(): Promise<void>;
160
+ verifyLastUpdatedAndRefresh(): Promise<void>;
161
+ verifyTableHasRowsOrEmpty(): Promise<void>;
162
+ hideFilters(): Promise<void>;
163
+ showFilters(): Promise<void>;
164
+ ensureFiltersVisible(): Promise<void>;
165
+ clickRefresh(): Promise<void>;
166
+ expectTotal(total: number): Promise<void>;
167
+ expectNumberOfRows(count: number): Promise<void>;
168
+ expectAtLeastNumberOfRows(count: number): Promise<void>;
169
+ expectAtLeastTotal(count: number): Promise<void>;
170
+ expectValue(row: number, column: string, expected: string): Promise<void>;
171
+ expectValueContains(row: number, column: string, expected: string): Promise<void>;
172
+ sortBy(column: string): Promise<void>;
173
+ isAscendingSorted(column: string): Promise<void>;
174
+ getColumnValues(column: string): Promise<string[]>;
175
+ getLastPageNumber(): Promise<number>;
176
+ getTotalCount(): Promise<number>;
177
+ expectPage(page: number): Promise<void>;
178
+ goToPage(page: number): Promise<void>;
179
+ goToFirstPage(): Promise<void>;
180
+ goToLastPage(): Promise<void>;
181
+ goToPreviousPage(): Promise<void>;
182
+ goToNextPage(): Promise<void>;
183
+ expectPageLinkVisible(pageNumber: number): Promise<void>;
184
+ expectPaginationLinksVisible(): Promise<void>;
185
+ expectPaginationLinksHidden(): Promise<void>;
186
+ expectPageSize(size: number): Promise<void>;
187
+ expectPageSizes(sizes: number[]): Promise<void>;
188
+ setPageSize(size: number): Promise<void>;
189
+ shouldHaveScrollBar(): Promise<void>;
190
+ setStartDate(value: string): Promise<void>;
191
+ setEndDate(value: string): Promise<void>;
192
+ expectStartDateValue(value: string): Promise<void>;
193
+ expectEndDateValue(value: string): Promise<void>;
194
+ checkInvalidStartDateError(): Promise<void>;
195
+ checkInvalidEndDateError(): Promise<void>;
196
+ expectNoStartDateError(): Promise<void>;
197
+ expectNoEndDateError(): Promise<void>;
198
+ selectRadioFilter(label: 'None' | 'Application(s)' | 'Environment(s)'): Promise<void>;
199
+ expectApplicationsRadioSelected(): Promise<void>;
200
+ selectTagsFilterApplications(text: string, optionName: string): Promise<void>;
201
+ selectTagsFilterEnvironments(text: string, optionName: string): Promise<void>;
202
+ selectStatesTagsFilterFirstSuggestion(text: string, optionName: string): Promise<void>;
203
+ clearStatesTagsFirstTag(): Promise<void>;
204
+ clearApplicationsTagsFirstTag(): Promise<void>;
205
+ clearEnvironmentsTagsFirstTag(): Promise<void>;
206
+ setTaskId(taskId: string): Promise<void>;
207
+ setWorkerName(workerName: string): Promise<void>;
208
+ clearWorkerName(): Promise<void>;
209
+ expectTagAdded(tagTitle: string): Promise<void>;
210
+ }
211
+ declare class InfrastructureEditPermissionsPage extends ExplorerPage {
212
+ navigateToPage(): Promise<void>;
213
+ navigateToInfraEditPermissionPage(): Promise<void>;
214
+ givePermissionsToRole(roleName: string): Promise<void>;
215
+ }
216
+ declare class EnvironmentEditPermissionsPage extends ExplorerPage {
217
+ navigateToPage(): Promise<void>;
218
+ navigateToEnvEditPermissionPage(): Promise<void>;
219
+ givePermissionsToRole(roleName: string): Promise<void>;
220
+ }
221
+ declare class ApplicationEditPermissionsPage extends ExplorerPage {
222
+ navigateToPage(): Promise<void>;
223
+ navigateToAppEditPermissionPage(): Promise<void>;
224
+ givePermissionsToRole(roleName: string): Promise<void>;
225
+ }
226
+ declare class ConfigurationEditPermissionsPage extends ExplorerPage {
227
+ navigateToPage(): Promise<void>;
228
+ navigateToConfigurationEditPermissionsPage(): Promise<void>;
229
+ givePermissionsToRole(roleName: string): Promise<void>;
230
+ }
231
+ declare class Navigation extends ExplorerPage {
39
232
  homePage: HomePage;
40
233
  userPage: UserPage;
41
234
  overthereLocalHostPage: OverthereLocalHostPage;
42
235
  environmentsPage: EnvironmentsPage;
43
236
  applicationsPage: ApplicationsPage;
44
237
  reportsPage: ReportsPage;
238
+ reportsControlTasksPage: ReportsControlTasksPage;
239
+ reportsDashboardPage: ReportsDashboardPage;
240
+ reportsDeploymentsPage: ReportsDeploymentsPage;
241
+ infrastructureEditPermissionsPage: InfrastructureEditPermissionsPage;
242
+ environmentEditPermissionsPage: EnvironmentEditPermissionsPage;
243
+ applicationEditPermissionsPage: ApplicationEditPermissionsPage;
244
+ configurationEditPermissionsPage: ConfigurationEditPermissionsPage;
245
+ gitopsConfigurationPage: GitopsConfigurationPage;
45
246
  constructor(page: Page);
46
247
  navigateToHomePage(): Promise<void>;
47
248
  navigateToUserPage(): Promise<void>;
48
249
  clickCollapseSideView(): Promise<void>;
49
- navigateToApplicationsPage(): Promise<void>;
50
- navigateToEnvironmentsPage(): Promise<void>;
51
- navigateToOverthereLocalHostPage(): Promise<void>;
52
250
  }
53
251
  declare class LoginPage extends WithPage {
54
- login(userName: string, password: string): Promise<void>;
252
+ login(userName: string, password: string, pageOverride?: Page): Promise<void>;
55
253
  verifyInvalidPasswordMessage(): Promise<void>;
254
+ verifyDisabledUserLoginError(pageOverride?: Page): Promise<void>;
255
+ verifyNoLoginPermissionError(pageOverride?: Page): Promise<void>;
56
256
  logout(): Promise<void>;
57
257
  }
58
258
  type DeployFixtures = {
@@ -60,7 +260,7 @@ type DeployFixtures = {
60
260
  loginPage: LoginPage;
61
261
  navigation: Navigation;
62
262
  };
63
- export const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & DeployFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
263
+ export const test: TestType<PlaywrightTestArgs & PlaywrightTestOptions & DeployFixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
64
264
  declare class Fixtures {
65
265
  constructor(page: Page);
66
266
  }