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

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,4 +1,5 @@
1
1
  import { Page, Locator, APIResponse } from "@playwright/test";
2
+ import path from "path";
2
3
  import { APIRequestContext } from "playwright-core";
3
4
  declare class WithPage {
4
5
  protected readonly page: Page;
@@ -7,6 +8,7 @@ declare class WithPage {
7
8
  declare class ReleasesListPage extends WithPage {
8
9
  expectNumberOfReleases(releaseTitle: string, amount: number): Promise<void>;
9
10
  openReleaseByName(releaseTitle: string): Promise<ReleasePage>;
11
+ filterReleaseByTitle(releaseTitle: string): Promise<void>;
10
12
  }
11
13
  declare class TriggersPage extends WithPage {
12
14
  openRelatedReleasesOf(title: string): Promise<ReleasesListPage>;
@@ -47,17 +49,61 @@ declare class ConditionRail extends WithPage {
47
49
  }
48
50
  declare class OverviewRail extends WithPage {
49
51
  railLocator: Locator;
52
+ dependency: Dependency;
50
53
  constructor(page: Page);
54
+ openInputProperties(): Promise<void>;
55
+ openOutputProperties(): Promise<void>;
56
+ getValueFromCi(propertyName: string): Promise<string>;
57
+ getAllOptionsFromCi(propertyName: string): Promise<string[]>;
58
+ setValueFromCi(propertyName: string, value: string): Promise<void>;
59
+ getValueFromString(propertyName: string): Promise<string | null>;
60
+ setValueFromString(propertyName: string, value: string): Promise<void>;
61
+ setValueFromLargeString(propertyName: string, value: string): Promise<void>;
62
+ setValueFromPassword(propertyName: string, value: string): Promise<void>;
63
+ setAndCreateVariable(propertyName: string, variableName: string): Promise<void>;
64
+ setVariable(propertyName: string, variableName: string): Promise<void>;
65
+ expectValueFromString(propertyName: string, propertyValue: string): Promise<void>;
51
66
  setValueFromMap(propertyName: string, key: string, value: string): Promise<void>;
52
67
  setScript(script: string): Promise<void>;
53
68
  expectScriptToContain(script: string): Promise<void>;
69
+ enterScriptForAutoComplete(script: string): Promise<void>;
70
+ openScriptEditorInSeparateWindow(): Promise<void>;
71
+ closeFullscreenScriptWindowWithESC(): Promise<void>;
72
+ closeFullscreenScriptWindow(): Promise<void>;
54
73
  abort(comment: string): Promise<void>;
74
+ expectDependenciesDisplayed(dependencies: any[]): Promise<void>;
75
+ expectCanDeleteDependency(title: string, canDelete?: boolean): Promise<void>;
76
+ getDependencyCount(): Promise<number>;
77
+ addDependency(): Promise<void>;
78
+ expectDependencyText(dependencies: string): Promise<void>;
79
+ clickEditDependency(dependencies: string): Promise<void>;
80
+ }
81
+ declare class Dependency extends WithPage {
82
+ constructor(page: Page);
83
+ getRelease(): Promise<any>;
84
+ getPhase(): Promise<any>;
85
+ getTask(): Promise<any>;
86
+ setRelease(releaseTitle: string): Promise<void>;
87
+ save(): Promise<void>;
88
+ setPhase(phaseTitle: string): Promise<void>;
89
+ setTask(taskTitle: string): Promise<void>;
90
+ clearPhase(): Promise<void>;
91
+ expectVariableModeEnabled(mode: boolean): Promise<void>;
92
+ clickVariable(): Promise<void>;
93
+ expectMinimumOptions(options: any[]): Promise<void>;
94
+ enterNewVariable(variablename: string): Promise<void>;
95
+ selectVariable(variablename: string): Promise<void>;
55
96
  }
56
97
  declare class ActivityRail extends WithPage {
57
98
  expectCommentToContain(text: string): Promise<void>;
58
99
  }
59
100
  declare class AttachmentRail extends WithPage {
60
101
  expectWithAttachment(filename: string): Promise<void>;
102
+ getAttachmentsListCount(): Promise<number>;
103
+ uploadFile(filePath: string): Promise<void>;
104
+ downloadFile(filename: string): Promise<void>;
105
+ deleteAttachment(fileName: string): Promise<void>;
106
+ expectWithNoAttachment(tempFile: string): Promise<void>;
61
107
  }
62
108
  type Rail = 'Overview' | 'Activity' | 'Config' | 'Scheduling' | 'Conditions' | 'Attributes' | 'Attach' | 'Tags';
63
109
  declare class TaskDrawer extends WithPage {
@@ -84,6 +130,10 @@ declare class TaskDrawer extends WithPage {
84
130
  close(): Promise<void>;
85
131
  retryTask(comment: string): Promise<void>;
86
132
  skipTask(comment: string): Promise<void>;
133
+ expectTaskTitle(taskTitle: string): Promise<void>;
134
+ expectTypeToContain(taskType: string): Promise<void>;
135
+ clickExpand(): Promise<void>;
136
+ clickShrink(): Promise<void>;
87
137
  }
88
138
  declare class ReleasePropertiesPage extends WithPage {
89
139
  constructor(page: Page);
@@ -93,6 +143,7 @@ declare class ReleasePropertiesPage extends WithPage {
93
143
  setScriptUserPassword(password: string): Promise<void>;
94
144
  save(): Promise<void>;
95
145
  reset(): Promise<void>;
146
+ expectWithAttachment(filename: string): Promise<void>;
96
147
  }
97
148
  declare class ReleasePage extends WithPage {
98
149
  taskDrawer: TaskDrawer;
@@ -111,6 +162,8 @@ declare class ReleasePage extends WithPage {
111
162
  waitForStatusLine(statusLine: string): Promise<void>;
112
163
  waitForTaskStarted(taskTitle: string): Promise<void>;
113
164
  openTaskDrawer(taskName: string): Promise<TaskDrawer>;
165
+ openTaskDrawerFromTableView(taskName: string): Promise<TaskDrawer>;
166
+ openTaskDrawerFromGrantt(taskName: string): Promise<TaskDrawer>;
114
167
  openVariables(): Promise<void>;
115
168
  openProperties(): Promise<void>;
116
169
  openReleaseFlow(): Promise<void>;
@@ -122,6 +175,9 @@ declare class ReleasePage extends WithPage {
122
175
  collapseAllTaskView(): Promise<void>;
123
176
  expandAllTaskView(): Promise<void>;
124
177
  backToRelease(): Promise<void>;
178
+ openTableView(): Promise<void>;
179
+ openPlannerView(): Promise<void>;
180
+ expandGanttFolder(): Promise<void>;
125
181
  }
126
182
  declare class Phase extends WithPage {
127
183
  constructor(page: Page, phaseName: string);
@@ -131,6 +187,7 @@ declare class Phase extends WithPage {
131
187
  getNumberOfTasks(): Promise<number>;
132
188
  expectToHaveNoneditableTitle(phaseTitle: string): Promise<void>;
133
189
  expectToHaveTitle(phaseTitle: string): Promise<void>;
190
+ expectTemplateLabelNotToBePresent(): Promise<void>;
134
191
  }
135
192
  declare class ApplicationsPage extends WithPage {
136
193
  goToApplicationsPage(): Promise<this>;
@@ -163,7 +220,6 @@ declare class UserModal extends WithPage {
163
220
  }
164
221
  declare class UsersPage extends WithPage {
165
222
  page: Page;
166
- newUserButton: Locator;
167
223
  modal: UserModal;
168
224
  constructor(page: Page);
169
225
  openUsersPage(): Promise<void>;
@@ -202,14 +258,99 @@ declare class ReleaseCalendarPage extends WithPage {
202
258
  viewDependency(source_release: string, dest_release: string): Promise<void>;
203
259
  downloadIcsCalendar(release_title: string): Promise<number>;
204
260
  }
261
+ declare class TaskListPage extends WithPage {
262
+ taskDrawer: TaskDrawer;
263
+ constructor(page: Page);
264
+ openTask(taskName: string): Promise<void>;
265
+ filterTaskByTitle(taskname: string): Promise<void>;
266
+ filterTasksByTag(tag: string, taskTitleForValidation: string): Promise<void>;
267
+ filterTasksByReleaseTitle(releaseTitle: string): Promise<void>;
268
+ openSingleTask(taskId: string, showDetails?: boolean): Promise<void>;
269
+ expectReleaseLinksDisplayed(releaseTitle: string, displayed?: boolean): Promise<void>;
270
+ expectTaskTitle(taskTitle: string): Promise<void>;
271
+ }
272
+ declare class TempFile extends WithPage {
273
+ tempDir: string;
274
+ content: string;
275
+ constructor(page: Page);
276
+ createTempFile(fileName: path.ParsedPath | string, testInfo: any): Promise<void>;
277
+ }
278
+ declare class TemplatePropertiesPage extends WithPage {
279
+ constructor(page: Page);
280
+ getAttachmentsListCount(): Promise<number>;
281
+ uploadFile(filePath: string): Promise<void>;
282
+ expectWithAttachment(filename: string): Promise<void>;
283
+ expectWithNoAttachment(filename: string): Promise<void>;
284
+ downloadFile(filename: string): Promise<void>;
285
+ deleteAttachment(fileName: string): Promise<void>;
286
+ save(): Promise<void>;
287
+ reset(): Promise<void>;
288
+ removeDueDate(): Promise<void>;
289
+ setScheduledStartDate(date: number, monthYear: string): Promise<void>;
290
+ setDuration(days?: string, hours?: string, mins?: string): Promise<void>;
291
+ expectScheduledStartDateToBe(date: string): Promise<void>;
292
+ expectDueDateToBe(date: string): Promise<void>;
293
+ expectedDueDateTime(time: string): Promise<void>;
294
+ expectDurationToBe(duration: string): Promise<void>;
295
+ setUsername(username: string): Promise<void>;
296
+ setPassword(password: string): Promise<void>;
297
+ expectScriptUsernameToBe(username: string): Promise<void>;
298
+ expectScriptUserPasswordToBe(password: string): Promise<void>;
299
+ }
300
+ declare class TemplateCreatePage extends WithPage {
301
+ constructor(page: Page);
302
+ setName(name: string): Promise<void>;
303
+ setDescription(description: string): Promise<void>;
304
+ create(): Promise<void>;
305
+ }
306
+ declare class TemplateTriggerPage extends WithPage {
307
+ constructor(page: Page);
308
+ expectAllowConcurrentReleasesFromTrigger(expectedValue: boolean): Promise<void>;
309
+ setAllowConcurrentReleasesFromTriggerAndSubmit(checked: boolean): Promise<void>;
310
+ expectTriggersVisible(amount: number): Promise<void>;
311
+ expectNoNewTriggerButtonShown(): Promise<void>;
312
+ }
313
+ declare class TemplatePage extends WithPage {
314
+ taskDrawer: TaskDrawer;
315
+ properties: TemplatePropertiesPage;
316
+ createTemplatePage: TemplateCreatePage;
317
+ triggers: TemplateTriggerPage;
318
+ constructor(page: Page);
319
+ openTaskDrawer(taskName: string): Promise<TaskDrawer>;
320
+ openTaskDrawerFromGrantt(taskName: string): Promise<TaskDrawer>;
321
+ openProperties(): Promise<void>;
322
+ openTriggers(): Promise<void>;
323
+ backToTemplate(): Promise<void>;
324
+ expectTemplateLabelToBePresent(): Promise<void>;
325
+ expectSubPage(menuItem: string, toBePresent: boolean): Promise<void>;
326
+ openFlowView(): Promise<void>;
327
+ openTableView(): Promise<void>;
328
+ openPlannerView(): Promise<void>;
329
+ openCodeView(): Promise<void>;
330
+ expandGanttFolder(): Promise<void>;
331
+ }
332
+ declare class TemplateListPage extends WithPage {
333
+ constructor(page: Page);
334
+ openTemplatesList(filter: string): Promise<void>;
335
+ searchBy(criteria: string): Promise<void>;
336
+ copy(originTitle: string, targetTitle: string): Promise<void>;
337
+ expectTemplateVisible(title: string, expected?: boolean): Promise<void>;
338
+ delete(title: string): Promise<void>;
339
+ clickCreateNewTemplate(): Promise<void>;
340
+ openTemplateByName(templateName: string): Promise<void>;
341
+ }
205
342
  declare class Navigation {
206
343
  releasePage: ReleasePage;
207
344
  settingsMenu: SettingsMenu;
208
345
  usersPage: UsersPage;
209
346
  applicationPage: ApplicationsPage;
210
347
  taskDetailsPage: TaskDetails;
348
+ taskListPage: TaskListPage;
349
+ templatePage: TemplatePage;
350
+ templateListPage: TemplateListPage;
211
351
  releaseCalendarPage: ReleaseCalendarPage;
212
352
  releaseListPage: ReleasesListPage;
353
+ util: TempFile;
213
354
  constructor(page: Page);
214
355
  openTemplate(id: string): Promise<ReleasePage>;
215
356
  openRelease(id: string): Promise<ReleasePage>;
@@ -231,6 +372,8 @@ declare class Navigation {
231
372
  gotoEnvironmentsCalenderPage(): Promise<void>;
232
373
  gotoGobalVariablesPage(): Promise<void>;
233
374
  gotoConnectionsPage(): Promise<void>;
375
+ collapseSideView(): Promise<void>;
376
+ expandSideView(): Promise<void>;
234
377
  }
235
378
  declare class LoginPage extends WithPage {
236
379
  /**
@@ -267,6 +410,7 @@ interface Release extends PlanItem {
267
410
  dueDate?: Date;
268
411
  endDate?: Date;
269
412
  extensions: Array<ReleaseExtension>;
413
+ flagStatus?: string;
270
414
  owner?: string;
271
415
  passwordVariableValues?: VariableValues;
272
416
  phases: Array<_Phase1>;
@@ -278,6 +422,7 @@ interface Release extends PlanItem {
278
422
  startDate?: Date;
279
423
  status: ReleaseStatus;
280
424
  summary?: Dashboard;
425
+ tags?: Array<string>;
281
426
  teams: Array<Team>;
282
427
  variableValues?: VariableValues;
283
428
  variables: Array<Variable>;
@@ -300,22 +445,38 @@ interface Container extends PlanItem {
300
445
  interface _Phase1 extends Container {
301
446
  status: PhaseStatus;
302
447
  }
448
+ interface _Dependency1 extends PlanItem {
449
+ archivedAsResolved: boolean;
450
+ archivedTargetId: string;
451
+ archivedTargetTitle: string;
452
+ target: {
453
+ id: string;
454
+ type: string;
455
+ };
456
+ targetId: string;
457
+ }
458
+ interface Folder extends PlanItem {
459
+ children?: Array<Folder>;
460
+ teams?: Array<Team>;
461
+ variables?: Array<Variable>;
462
+ }
303
463
  interface Task extends PlanItem {
304
464
  attachments: Array<Attachment>;
305
465
  comments: Array<Comment>;
306
466
  conditions: Array<Condition>;
307
- dependencies: Array<Dependency>;
467
+ dependencies: Array<_Dependency1>;
468
+ description?: string;
308
469
  links: Array<Link>;
309
470
  owner?: string;
310
471
  precondition: string;
311
472
  pythonScript?: PythonScript;
312
473
  script: string;
313
474
  status: TaskStatus;
475
+ tags?: Array<string>;
314
476
  tasks: Array<Task>;
315
477
  templateVariables: Array<Variable>;
316
478
  }
317
479
  type Condition = PlanItem;
318
- type Dependency = PlanItem;
319
480
  type Link = PlanItem;
320
481
  type Comment = PlanItem;
321
482
  type Attachment = PlanItem;
@@ -330,7 +491,11 @@ interface PythonScript extends BaseConfigurationItem {
330
491
  type ReleaseStatus = 'TEMPLATE' | 'PLANNED' | 'IN_PROGRESS' | 'PAUSED' | 'FAILING' | 'FAILED' | 'COMPLETED' | 'ABORTED';
331
492
  type PhaseStatus = 'PLANNED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILING' | 'FAILED' | 'SKIPPED' | 'ABORTED';
332
493
  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;
494
+ interface Team extends PlanItem {
495
+ members: Array<string>;
496
+ permissions: Array<string>;
497
+ teamName: string;
498
+ }
334
499
  type FeatureType = 'xlrelease.TaskDrawer';
335
500
  interface FixtureFeature {
336
501
  enabled: boolean;
@@ -348,12 +513,19 @@ interface FixtureConfiguration extends PlanItem {
348
513
  username?: string;
349
514
  }
350
515
  interface FixtureTrigger extends PlanItem {
516
+ count?: number;
517
+ description?: string;
518
+ enabled?: boolean;
351
519
  folderId?: string;
352
520
  gitRepository?: string;
521
+ jql?: string;
522
+ password?: string;
353
523
  periodicity?: number | string;
354
524
  pollType?: string;
355
525
  releaseTitle: string;
526
+ server?: string;
356
527
  template: string;
528
+ username?: string;
357
529
  }
358
530
  interface FixtureActivityLog extends PlanItem {
359
531
  activityType: string;
@@ -370,7 +542,11 @@ export const test: import("@playwright/test").TestType<import("@playwright/test"
370
542
  declare class Fixtures {
371
543
  constructor(request: APIRequestContext, page: Page);
372
544
  release(release: FixtureRelease): Promise<APIResponse>;
545
+ archivedRelease(release: FixtureRelease): Promise<APIResponse>;
373
546
  configuration(ci: FixtureConfiguration): Promise<APIResponse>;
547
+ getParentId(id: string): string;
548
+ folder(folder: Folder): Promise<APIResponse>;
549
+ createFolder(folderJson: Folder): Promise<APIResponse>;
374
550
  trigger(trigger: FixtureTrigger): Promise<APIResponse>;
375
551
  deleteArchivedRelease(id: string): Promise<APIResponse>;
376
552
  deleteRelease(id: string): Promise<APIResponse>;
@@ -378,13 +554,16 @@ declare class Fixtures {
378
554
  deleteUserProfile(userProfile: string): Promise<APIResponse>;
379
555
  deleteTrigger(id: string): Promise<APIResponse>;
380
556
  deleteConfiguration(id: string): Promise<APIResponse>;
381
- activityLogs(releaseId: string, logs: Array<FixtureActivityLog>): Promise<APIResponse>;
557
+ deleteFolder(folderId: string): Promise<APIResponse>;
558
+ activityLogs(id: string, logs: Array<FixtureActivityLog>): Promise<APIResponse>;
559
+ globalVariable(variable: Variable): Promise<APIResponse>;
382
560
  cleanAll(): Promise<void>;
383
561
  addJiraTask(): Promise<string>;
384
562
  addUser(username: string, password: string): Promise<void>;
385
563
  addUserProfile(username: string, profile?: any): Promise<void>;
386
564
  expectJiraTaskStatus(taskId: string, expectedStatus: string): Promise<void>;
387
565
  expectJiraTaskSummary(taskId: string, expectedSummary: string): Promise<void>;
566
+ expectContainingAttachments(releaseId: string, tempFile: string): Promise<void>;
388
567
  waitForReleaseStarted(releaseTitle: string): Promise<void>;
389
568
  waitForFirstPoll(triggerId: string): Promise<void>;
390
569
  exec(path: string): Promise<void>;