@digital-ai/devops-page-object-release 0.0.10 → 0.0.12

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,136 +1,9 @@
1
1
  import { Page, Locator, APIResponse } from "@playwright/test";
2
2
  import { APIRequestContext } from "playwright-core";
3
- interface BaseConfigurationItem {
4
- id: string;
5
- type: string;
6
- }
7
- interface PlanItem extends BaseConfigurationItem {
8
- title: string;
9
- }
10
- interface Release extends PlanItem {
11
- allowConcurrentReleasesFromTrigger: boolean;
12
- attachments: Array<Attachment>;
13
- description: string;
14
- dueDate?: Date;
15
- endDate?: Date;
16
- extensions: Array<ReleaseExtension>;
17
- owner?: string;
18
- passwordVariableValues?: VariableValues;
19
- phases: Array<Phase>;
20
- queryableEndDate?: Date;
21
- queryableStartDate?: Date;
22
- scheduledStartDate?: Date;
23
- scriptUserPassword?: string;
24
- scriptUsername?: string;
25
- startDate?: Date;
26
- status: ReleaseStatus;
27
- summary?: Dashboard;
28
- teams: Array<Team>;
29
- variableValues?: VariableValues;
30
- variables: Array<Variable>;
31
- }
32
- interface VariableValues {
33
- [key: string]: any;
34
- }
35
- interface Variable extends BaseConfigurationItem {
36
- key: string;
37
- requiresValue: boolean;
38
- showOnReleaseStart: boolean;
39
- value: any;
40
- valueProvider?: VariableValueProvider;
41
- }
42
- interface VariableValueProvider {
43
- id: string;
44
- variable: string;
45
- }
46
- interface Container extends PlanItem {
47
- tasks: Array<Task>;
48
- }
49
- interface Phase extends Container {
50
- status: PhaseStatus;
51
- }
52
- interface Task extends PlanItem {
53
- attachments: Array<Attachment>;
54
- comments: Array<Comment>;
55
- conditions: Array<Condition>;
56
- dependencies: Array<Dependency>;
57
- links: Array<Link>;
58
- owner?: string;
59
- precondition: string;
60
- pythonScript?: PythonScript;
61
- script: string;
62
- status: TaskStatus;
63
- tasks: Array<Task>;
64
- templateVariables: Array<Variable>;
65
- }
66
- type Condition = PlanItem;
67
- type Dependency = PlanItem;
68
- type Link = PlanItem;
69
- type Comment = PlanItem;
70
- type Attachment = PlanItem;
71
- interface Dashboard extends ReleaseExtension {
72
- tiles: Array<Tile>;
73
- }
74
- type ReleaseExtension = BaseConfigurationItem;
75
- type Tile = BaseConfigurationItem;
76
- interface PythonScript extends BaseConfigurationItem {
77
- customScriptTask: string;
78
- }
79
- type ReleaseStatus = 'TEMPLATE' | 'PLANNED' | 'IN_PROGRESS' | 'PAUSED' | 'FAILING' | 'FAILED' | 'COMPLETED' | 'ABORTED';
80
- type PhaseStatus = 'PLANNED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILING' | 'FAILED' | 'SKIPPED' | 'ABORTED';
81
- type TaskStatus = 'IN_PROGRESS' | 'PLANNED' | 'SKIPPED_IN_ADVANCE' | 'COMPLETED_IN_ADVANCE' | 'COMPLETED' | 'SKIPPED' | 'ABORTED' | 'PENDING' | 'FACET_CHECK_IN_PROGRESS' | 'FAILED' | 'FAILING' | 'FAILURE_HANDLER_IN_PROGRESS' | 'ABORT_SCRIPT_IN_PROGRESS' | 'PRECONDITION_IN_PROGRESS' | 'QUEUED' | 'ABORT_SCRIPT_QUEUED' | 'WAITING_FOR_INPUT' | 'FAILURE_HANDLER_QUEUED';
82
- type Team = BaseConfigurationItem;
83
- type FeatureCategory = 'Stable' | 'Incubating';
84
- type FeatureType = 'xlrelease.TaskDrawer';
85
- interface FixtureFeature {
86
- category: FeatureCategory;
87
- enabled: boolean;
88
- id: string;
89
- type: FeatureType;
90
- }
91
- type DeepPartial<T> = {
92
- [P in keyof T]?: DeepPartial<T[P]>;
93
- };
94
- type FixtureRelease = DeepPartial<Release> & Pick<Release, 'id'>;
95
- interface FixtureConfiguration extends PlanItem {
96
- apiToken?: string;
97
- password?: string;
98
- url: string;
99
- username?: string;
100
- }
101
- interface FixtureTrigger extends PlanItem {
102
- folderId?: string;
103
- gitRepository?: string;
104
- periodicity?: number | string;
105
- pollType?: string;
106
- releaseTitle: string;
107
- template: string;
108
- }
109
3
  declare class WithPage {
110
4
  protected readonly page: Page;
111
5
  constructor(page: Page);
112
6
  }
113
- declare class LoginPage extends WithPage {
114
- /**
115
- * Login with username and password
116
- * @param userName
117
- * @param password
118
- */
119
- login(userName: string, password: string): Promise<void>;
120
- /**
121
- * Logout as authenticated user
122
- */
123
- logout(): Promise<void>;
124
- /**
125
- * Expect login to be restricted for a user
126
- */
127
- expectLoginDisallowed(): Promise<void>;
128
- /**
129
- * Expect the respective user is logged In
130
- * @param username
131
- */
132
- expectToBeLogged(username: string): Promise<void>;
133
- }
134
7
  declare class ReleasesListPage extends WithPage {
135
8
  expectNumberOfReleases(releaseTitle: string, amount: number): Promise<void>;
136
9
  openReleaseByName(releaseTitle: string): Promise<ReleasePage>;
@@ -172,8 +45,24 @@ declare class ConditionRail extends WithPage {
172
45
  disablePrecondition(): Promise<void>;
173
46
  setPrecondition(script: string): Promise<void>;
174
47
  }
48
+ declare class OverviewRail extends WithPage {
49
+ railLocator: Locator;
50
+ constructor(page: Page);
51
+ setValueFromMap(propertyName: string, key: string, value: string): Promise<void>;
52
+ setScript(script: string): Promise<void>;
53
+ expectScriptToContain(script: string): Promise<void>;
54
+ abort(comment: string): Promise<void>;
55
+ }
56
+ declare class ActivityRail extends WithPage {
57
+ expectCommentToContain(text: string): Promise<void>;
58
+ }
59
+ declare class AttachmentRail extends WithPage {
60
+ expectWithAttachment(filename: string): Promise<void>;
61
+ }
175
62
  type Rail = 'Overview' | 'Activity' | 'Config' | 'Scheduling' | 'Conditions' | 'Attributes' | 'Attach' | 'Tags';
176
63
  declare class TaskDrawer extends WithPage {
64
+ activity: ActivityRail;
65
+ attachment: AttachmentRail;
177
66
  config: ConfigRail;
178
67
  condition: ConditionRail;
179
68
  taskDrawerLocator: Locator;
@@ -181,6 +70,7 @@ declare class TaskDrawer extends WithPage {
181
70
  cancelButton: Locator;
182
71
  commentBox: Locator;
183
72
  confirm: Locator;
73
+ overview: OverviewRail;
184
74
  skipMenu: Locator;
185
75
  constructor(page: Page);
186
76
  openOverviewRail(): Promise<void>;
@@ -195,13 +85,25 @@ declare class TaskDrawer extends WithPage {
195
85
  retryTask(comment: string): Promise<void>;
196
86
  skipTask(comment: string): Promise<void>;
197
87
  }
88
+ declare class ReleasePropertiesPage extends WithPage {
89
+ constructor(page: Page);
90
+ editReleaseName(name: string): Promise<void>;
91
+ setDescription(description: string): Promise<void>;
92
+ setScriptUsername(username: string): Promise<void>;
93
+ setScriptUserPassword(password: string): Promise<void>;
94
+ save(): Promise<void>;
95
+ reset(): Promise<void>;
96
+ }
198
97
  declare class ReleasePage extends WithPage {
199
98
  taskDrawer: TaskDrawer;
99
+ properties: ReleasePropertiesPage;
100
+ variables: ReleaseVariablesPage;
200
101
  constructor(page: Page);
201
102
  openTriggers(): Promise<TriggersPage>;
202
103
  abort(comment?: string): Promise<void>;
203
- getPhase(phaseName: string): _Phase1;
104
+ getPhase(phaseName: string): Phase;
204
105
  start(): Promise<void>;
106
+ waitForCompletion(timeout: number): Promise<void>;
205
107
  waitForTaskCompleted(taskTitle: string): Promise<void>;
206
108
  waitForTaskFailed(taskTitle: string): Promise<void>;
207
109
  waitForTaskSkipped(taskTitle: string): Promise<void>;
@@ -209,15 +111,26 @@ declare class ReleasePage extends WithPage {
209
111
  waitForStatusLine(statusLine: string): Promise<void>;
210
112
  waitForTaskStarted(taskTitle: string): Promise<void>;
211
113
  openTaskDrawer(taskName: string): Promise<TaskDrawer>;
212
- openVariables(): Promise<ReleaseVariablesPage>;
213
- openReleaseMenu(menuItem: string): Promise<void>;
114
+ openVariables(): Promise<void>;
115
+ openProperties(): Promise<void>;
116
+ openReleaseFlow(): Promise<void>;
117
+ openRelationships(): Promise<void>;
118
+ openTeamsPermissions(): Promise<void>;
119
+ openDashboard(): Promise<void>;
120
+ openActivityLogs(): Promise<void>;
214
121
  openTask(taskName: string): Promise<void>;
215
122
  collapseAllTaskView(): Promise<void>;
216
123
  expandAllTaskView(): Promise<void>;
124
+ backToRelease(): Promise<void>;
217
125
  }
218
- declare class _Phase1 extends WithPage {
126
+ declare class Phase extends WithPage {
219
127
  constructor(page: Page, phaseName: string);
220
- addTask(taskName: string, taskGroup: string, taskType: string): Promise<void>;
128
+ setTitle(title: string): Promise<void>;
129
+ expectTaskBorderWithColor(taskName: string, color: string): Promise<void>;
130
+ addTaskInPhase(taskTitle: string, taskType: any): Promise<void>;
131
+ getNumberOfTasks(): Promise<number>;
132
+ expectToHaveNoneditableTitle(phaseTitle: string): Promise<void>;
133
+ expectToHaveTitle(phaseTitle: string): Promise<void>;
221
134
  }
222
135
  declare class ApplicationsPage extends WithPage {
223
136
  goToApplicationsPage(): Promise<this>;
@@ -277,6 +190,17 @@ declare class ReleaseCalendarPage extends WithPage {
277
190
  cancelCalendarExport(): Promise<number>;
278
191
  verifyDayView(): Promise<void>;
279
192
  verifyYearView(): Promise<void>;
193
+ verifyMonthView(): Promise<void>;
194
+ verifyPageContent(title: string): Promise<void>;
195
+ filterReleaseByTitle(title: string): Promise<void>;
196
+ filterReleaseByTags(tags: string[], release_title: string): Promise<void>;
197
+ filterTaskByTags(tags: string[], task_title: string, release_title: string): Promise<void>;
198
+ filterReleaseByStatus(release_status: string, release_title: string): Promise<void>;
199
+ filterReleaseByRisk(release_risk: string, release_title: string): Promise<void>;
200
+ filterFlaggedRelease(release_title: string): Promise<void>;
201
+ viewRelease(release_title: string, release_id: string): Promise<void>;
202
+ viewDependency(source_release: string, dest_release: string): Promise<void>;
203
+ downloadIcsCalendar(release_title: string): Promise<number>;
280
204
  }
281
205
  declare class Navigation {
282
206
  releasePage: ReleasePage;
@@ -285,6 +209,7 @@ declare class Navigation {
285
209
  applicationPage: ApplicationsPage;
286
210
  taskDetailsPage: TaskDetails;
287
211
  releaseCalendarPage: ReleaseCalendarPage;
212
+ releaseListPage: ReleasesListPage;
288
213
  constructor(page: Page);
289
214
  openTemplate(id: string): Promise<ReleasePage>;
290
215
  openRelease(id: string): Promise<ReleasePage>;
@@ -307,6 +232,135 @@ declare class Navigation {
307
232
  gotoGobalVariablesPage(): Promise<void>;
308
233
  gotoConnectionsPage(): Promise<void>;
309
234
  }
235
+ declare class LoginPage extends WithPage {
236
+ /**
237
+ * Login with username and password
238
+ * @param userName
239
+ * @param password
240
+ */
241
+ login(userName: string, password: string): Promise<void>;
242
+ /**
243
+ * Logout as authenticated user
244
+ */
245
+ logout(): Promise<void>;
246
+ /**
247
+ * Expect login to be restricted for a user
248
+ */
249
+ expectLoginDisallowed(): Promise<void>;
250
+ /**
251
+ * Expect the respective user is logged In
252
+ * @param username
253
+ */
254
+ expectToBeLogged(username: string): Promise<void>;
255
+ }
256
+ interface BaseConfigurationItem {
257
+ id: string;
258
+ type: string;
259
+ }
260
+ interface PlanItem extends BaseConfigurationItem {
261
+ title: string;
262
+ }
263
+ interface Release extends PlanItem {
264
+ allowConcurrentReleasesFromTrigger: boolean;
265
+ attachments: Array<Attachment>;
266
+ description: string;
267
+ dueDate?: Date;
268
+ endDate?: Date;
269
+ extensions: Array<ReleaseExtension>;
270
+ owner?: string;
271
+ passwordVariableValues?: VariableValues;
272
+ phases: Array<_Phase1>;
273
+ queryableEndDate?: Date;
274
+ queryableStartDate?: Date;
275
+ scheduledStartDate?: Date;
276
+ scriptUserPassword?: string;
277
+ scriptUsername?: string;
278
+ startDate?: Date;
279
+ status: ReleaseStatus;
280
+ summary?: Dashboard;
281
+ teams: Array<Team>;
282
+ variableValues?: VariableValues;
283
+ variables: Array<Variable>;
284
+ }
285
+ type VariableValues = Record<string, any>;
286
+ interface Variable extends BaseConfigurationItem {
287
+ key: string;
288
+ requiresValue: boolean;
289
+ showOnReleaseStart: boolean;
290
+ value: string;
291
+ valueProvider?: VariableValueProvider;
292
+ }
293
+ interface VariableValueProvider {
294
+ id: string;
295
+ variable: string;
296
+ }
297
+ interface Container extends PlanItem {
298
+ tasks: Array<Task>;
299
+ }
300
+ interface _Phase1 extends Container {
301
+ status: PhaseStatus;
302
+ }
303
+ interface Task extends PlanItem {
304
+ attachments: Array<Attachment>;
305
+ comments: Array<Comment>;
306
+ conditions: Array<Condition>;
307
+ dependencies: Array<Dependency>;
308
+ links: Array<Link>;
309
+ owner?: string;
310
+ precondition: string;
311
+ pythonScript?: PythonScript;
312
+ script: string;
313
+ status: TaskStatus;
314
+ tasks: Array<Task>;
315
+ templateVariables: Array<Variable>;
316
+ }
317
+ type Condition = PlanItem;
318
+ type Dependency = PlanItem;
319
+ type Link = PlanItem;
320
+ type Comment = PlanItem;
321
+ type Attachment = PlanItem;
322
+ interface Dashboard extends ReleaseExtension {
323
+ tiles: Array<Tile>;
324
+ }
325
+ type ReleaseExtension = BaseConfigurationItem;
326
+ type Tile = BaseConfigurationItem;
327
+ interface PythonScript extends BaseConfigurationItem {
328
+ customScriptTask: string;
329
+ }
330
+ type ReleaseStatus = 'TEMPLATE' | 'PLANNED' | 'IN_PROGRESS' | 'PAUSED' | 'FAILING' | 'FAILED' | 'COMPLETED' | 'ABORTED';
331
+ type PhaseStatus = 'PLANNED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILING' | 'FAILED' | 'SKIPPED' | 'ABORTED';
332
+ type TaskStatus = 'IN_PROGRESS' | 'PLANNED' | 'SKIPPED_IN_ADVANCE' | 'COMPLETED_IN_ADVANCE' | 'COMPLETED' | 'SKIPPED' | 'ABORTED' | 'PENDING' | 'FACET_CHECK_IN_PROGRESS' | 'FAILED' | 'FAILING' | 'FAILURE_HANDLER_IN_PROGRESS' | 'ABORT_SCRIPT_IN_PROGRESS' | 'PRECONDITION_IN_PROGRESS' | 'QUEUED' | 'ABORT_SCRIPT_QUEUED' | 'WAITING_FOR_INPUT' | 'FAILURE_HANDLER_QUEUED';
333
+ type Team = BaseConfigurationItem;
334
+ type FeatureType = 'xlrelease.TaskDrawer';
335
+ interface FixtureFeature {
336
+ enabled: boolean;
337
+ id: string;
338
+ type: FeatureType;
339
+ }
340
+ type DeepPartial<T> = {
341
+ [P in keyof T]?: DeepPartial<T[P]>;
342
+ };
343
+ type FixtureRelease = DeepPartial<Release> & Pick<Release, 'id'>;
344
+ interface FixtureConfiguration extends PlanItem {
345
+ apiToken?: string;
346
+ password?: string;
347
+ url: string;
348
+ username?: string;
349
+ }
350
+ interface FixtureTrigger extends PlanItem {
351
+ folderId?: string;
352
+ gitRepository?: string;
353
+ periodicity?: number | string;
354
+ pollType?: string;
355
+ releaseTitle: string;
356
+ template: string;
357
+ }
358
+ interface FixtureActivityLog extends PlanItem {
359
+ activityType: string;
360
+ eventTime: Date;
361
+ message: string;
362
+ username: string;
363
+ }
310
364
  type ReleaseFixtures = {
311
365
  fixtures: Fixtures;
312
366
  loginPage: LoginPage;
@@ -320,20 +374,26 @@ declare class Fixtures {
320
374
  trigger(trigger: FixtureTrigger): Promise<APIResponse>;
321
375
  deleteArchivedRelease(id: string): Promise<APIResponse>;
322
376
  deleteRelease(id: string): Promise<APIResponse>;
377
+ deleteUser(username: string): Promise<APIResponse>;
378
+ deleteUserProfile(userProfile: string): Promise<APIResponse>;
323
379
  deleteTrigger(id: string): Promise<APIResponse>;
324
380
  deleteConfiguration(id: string): Promise<APIResponse>;
325
- cleanAll(): Promise<Awaited<APIResponse>[]>;
381
+ activityLogs(releaseId: string, logs: Array<FixtureActivityLog>): Promise<APIResponse>;
382
+ cleanAll(): Promise<void>;
383
+ addJiraTask(): Promise<string>;
384
+ addUser(username: string, password: string): Promise<void>;
385
+ addUserProfile(username: string, profile?: any): Promise<void>;
386
+ expectJiraTaskStatus(taskId: string, expectedStatus: string): Promise<void>;
387
+ expectJiraTaskSummary(taskId: string, expectedSummary: string): Promise<void>;
326
388
  waitForReleaseStarted(releaseTitle: string): Promise<void>;
327
389
  waitForFirstPoll(triggerId: string): Promise<void>;
328
390
  exec(path: string): Promise<void>;
329
391
  getFakeApiUrl(): string;
330
392
  getEnvVariable(name: string): string | undefined;
393
+ archiveRelease(releaseId: string): Promise<APIResponse>;
394
+ preArchiveRelease(releaseId: string): Promise<APIResponse>;
331
395
  setFeatures(features: Array<FixtureFeature>): Promise<APIResponse>;
332
396
  enableTaskDrawer(enabled: boolean): Promise<APIResponse>;
333
- addUser(username: string, password: string): Promise<APIResponse>;
334
- addUserProfile(username: string, profile: any): Promise<APIResponse>;
335
- deleteUser(username: string): Promise<APIResponse>;
336
- deleteUserProfile(username: string): Promise<APIResponse>;
337
397
  }
338
398
 
339
399
  //# sourceMappingURL=types.d.ts.map