@camunda/e2e-test-suite 0.0.204 → 0.0.206

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.
Files changed (31) hide show
  1. package/dist/fixtures/c8Run-8.10.d.ts +20 -0
  2. package/dist/fixtures/c8Run-8.10.js +56 -0
  3. package/dist/pages/c8Run-8.10/OperateHomePage.d.ts +20 -0
  4. package/dist/pages/c8Run-8.10/OperateHomePage.js +64 -0
  5. package/dist/pages/c8Run-8.10/OperateLoginPage.d.ts +14 -0
  6. package/dist/pages/c8Run-8.10/OperateLoginPage.js +37 -0
  7. package/dist/pages/c8Run-8.10/OperateProcessInstancePage.d.ts +17 -0
  8. package/dist/pages/c8Run-8.10/OperateProcessInstancePage.js +76 -0
  9. package/dist/pages/c8Run-8.10/OperateProcessesPage.d.ts +20 -0
  10. package/dist/pages/c8Run-8.10/OperateProcessesPage.js +84 -0
  11. package/dist/pages/c8Run-8.10/TaskDetailsPage.d.ts +65 -0
  12. package/dist/pages/c8Run-8.10/TaskDetailsPage.js +219 -0
  13. package/dist/pages/c8Run-8.10/TaskListLoginPage.d.ts +14 -0
  14. package/dist/pages/c8Run-8.10/TaskListLoginPage.js +37 -0
  15. package/dist/pages/c8Run-8.10/TaskPanelPage.d.ts +23 -0
  16. package/dist/pages/c8Run-8.10/TaskPanelPage.js +81 -0
  17. package/dist/pages/c8Run-8.10/UtilitiesPage.d.ts +7 -0
  18. package/dist/pages/c8Run-8.10/UtilitiesPage.js +71 -0
  19. package/dist/tests/8.9/console-user-flows.spec.js +7 -3
  20. package/dist/tests/c8Run-8.10/api-tests-v1.spec.d.ts +1 -0
  21. package/dist/tests/c8Run-8.10/api-tests-v1.spec.js +80 -0
  22. package/dist/tests/c8Run-8.10/api-tests-v2.spec.d.ts +1 -0
  23. package/dist/tests/c8Run-8.10/api-tests-v2.spec.js +57 -0
  24. package/dist/tests/c8Run-8.10/connectors-user-flows.spec.d.ts +1 -0
  25. package/dist/tests/c8Run-8.10/connectors-user-flows.spec.js +107 -0
  26. package/dist/tests/c8Run-8.10/hto-user-flows.spec.d.ts +1 -0
  27. package/dist/tests/c8Run-8.10/hto-user-flows.spec.js +190 -0
  28. package/dist/tests/c8Run-8.10/login.spec.d.ts +1 -0
  29. package/dist/tests/c8Run-8.10/login.spec.js +21 -0
  30. package/dist/utils/mailSlurpClient.js +2 -2
  31. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import AxeBuilder from '@axe-core/playwright';
2
+ import { OperateLoginPage } from '../pages/c8Run-8.10/OperateLoginPage';
3
+ import { OperateHomePage } from '../pages/c8Run-8.10/OperateHomePage';
4
+ import { TaskPanelPage } from '../pages/c8Run-8.10/TaskPanelPage';
5
+ import { TaskListLoginPage } from '../pages/c8Run-8.10/TaskListLoginPage';
6
+ import { OperateProcessesPage } from '../pages/c8Run-8.10/OperateProcessesPage';
7
+ import { OperateProcessInstancePage } from '../pages/c8Run-8.10/OperateProcessInstancePage';
8
+ import { TaskDetailsPage } from '../pages/c8Run-8.10/TaskDetailsPage';
9
+ type PlaywrightFixtures = {
10
+ makeAxeBuilder: () => AxeBuilder;
11
+ operateLoginPage: OperateLoginPage;
12
+ operateHomePage: OperateHomePage;
13
+ taskListLoginPage: TaskListLoginPage;
14
+ taskPanelPage: TaskPanelPage;
15
+ operateProcessesPage: OperateProcessesPage;
16
+ operateProcessInstancePage: OperateProcessInstancePage;
17
+ taskDetailsPage: TaskDetailsPage;
18
+ };
19
+ declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & PlaywrightFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
20
+ export { test };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
4
+ * one or more contributor license agreements. See the NOTICE file distributed
5
+ * with this work for additional information regarding copyright ownership.
6
+ * Licensed under the Camunda License 1.0. You may not use this file
7
+ * except in compliance with the Camunda License 1.0.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.test = void 0;
14
+ const test_1 = require("@playwright/test");
15
+ const playwright_1 = __importDefault(require("@axe-core/playwright"));
16
+ const OperateLoginPage_1 = require("../pages/c8Run-8.10/OperateLoginPage");
17
+ const OperateHomePage_1 = require("../pages/c8Run-8.10/OperateHomePage");
18
+ const TaskPanelPage_1 = require("../pages/c8Run-8.10/TaskPanelPage");
19
+ const TaskListLoginPage_1 = require("../pages/c8Run-8.10/TaskListLoginPage");
20
+ const OperateProcessesPage_1 = require("../pages/c8Run-8.10/OperateProcessesPage");
21
+ const OperateProcessInstancePage_1 = require("../pages/c8Run-8.10/OperateProcessInstancePage");
22
+ const TaskDetailsPage_1 = require("../pages/c8Run-8.10/TaskDetailsPage");
23
+ const test = test_1.test.extend({
24
+ makeAxeBuilder: async ({ page }, use) => {
25
+ const makeAxeBuilder = () => new playwright_1.default({ page }).withTags([
26
+ 'best-practice',
27
+ 'wcag2a',
28
+ 'wcag2aa',
29
+ 'cat.semantics',
30
+ 'cat.forms',
31
+ ]);
32
+ await use(makeAxeBuilder);
33
+ },
34
+ operateLoginPage: async ({ page }, use) => {
35
+ await use(new OperateLoginPage_1.OperateLoginPage(page));
36
+ },
37
+ operateHomePage: async ({ page }, use) => {
38
+ await use(new OperateHomePage_1.OperateHomePage(page));
39
+ },
40
+ taskListLoginPage: async ({ page }, use) => {
41
+ await use(new TaskListLoginPage_1.TaskListLoginPage(page));
42
+ },
43
+ taskPanelPage: async ({ page }, use) => {
44
+ await use(new TaskPanelPage_1.TaskPanelPage(page));
45
+ },
46
+ operateProcessesPage: async ({ page }, use) => {
47
+ await use(new OperateProcessesPage_1.OperateProcessesPage(page));
48
+ },
49
+ operateProcessInstancePage: async ({ page }, use) => {
50
+ await use(new OperateProcessInstancePage_1.OperateProcessInstancePage(page));
51
+ },
52
+ taskDetailsPage: async ({ page }, use) => {
53
+ await use(new TaskDetailsPage_1.TaskDetailsPage(page));
54
+ },
55
+ });
56
+ exports.test = test;
@@ -0,0 +1,20 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class OperateHomePage {
3
+ private page;
4
+ readonly operateBanner: Locator;
5
+ readonly processesTab: Locator;
6
+ readonly informationDialog: Locator;
7
+ readonly editVariableButton: Locator;
8
+ readonly variableValueInput: Locator;
9
+ readonly saveVariableButton: Locator;
10
+ readonly editVariableSpinner: Locator;
11
+ constructor(page: Page);
12
+ operateBannerIsVisible(): Promise<void>;
13
+ clickProcessesTab(): Promise<void>;
14
+ clickEditVariableButton(variableName: string): Promise<void>;
15
+ clickVariableValueInput(): Promise<void>;
16
+ clearVariableValueInput(): Promise<void>;
17
+ fillVariableValueInput(value: string): Promise<void>;
18
+ clickSaveVariableButton(): Promise<void>;
19
+ }
20
+ export { OperateHomePage };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperateHomePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class OperateHomePage {
6
+ page;
7
+ operateBanner;
8
+ processesTab;
9
+ informationDialog;
10
+ editVariableButton;
11
+ variableValueInput;
12
+ saveVariableButton;
13
+ editVariableSpinner;
14
+ constructor(page) {
15
+ this.page = page;
16
+ this.operateBanner = page.getByRole('link', { name: 'Camunda logo Operate' });
17
+ this.processesTab = page.getByRole('link', { name: 'Processes' });
18
+ this.informationDialog = page.getByRole('button', {
19
+ name: 'Close this dialog',
20
+ });
21
+ this.editVariableButton = page.getByTestId('edit-variable-button');
22
+ this.variableValueInput = page.getByTestId('edit-variable-value');
23
+ this.saveVariableButton = page.getByLabel('Save variable');
24
+ this.editVariableSpinner = page
25
+ .getByTestId('variable-operation-spinner')
26
+ .locator('circle')
27
+ .nth(1);
28
+ }
29
+ async operateBannerIsVisible() {
30
+ await (0, test_1.expect)(this.operateBanner).toBeVisible({ timeout: 30000 });
31
+ }
32
+ async clickProcessesTab() {
33
+ const maxRetries = 3;
34
+ for (let retries = 0; retries < maxRetries; retries++) {
35
+ try {
36
+ await (0, test_1.expect)(this.processesTab).toBeVisible({ timeout: 30000 });
37
+ await this.processesTab.click({ timeout: 30000 });
38
+ await (0, test_1.expect)(this.page.locator('label').filter({ hasText: 'Completed' }).first()).toBeVisible();
39
+ return;
40
+ }
41
+ catch (error) {
42
+ console.warn(`Click attempt ${retries + 1} failed: ${error}`);
43
+ }
44
+ }
45
+ throw new Error(`Failed to click the processes tab after ${maxRetries} attempts.`);
46
+ }
47
+ async clickEditVariableButton(variableName) {
48
+ const editVariableButton = 'Edit variable ' + variableName;
49
+ await this.page.getByLabel(editVariableButton).click();
50
+ }
51
+ async clickVariableValueInput() {
52
+ await this.variableValueInput.click();
53
+ }
54
+ async clearVariableValueInput() {
55
+ await this.variableValueInput.clear();
56
+ }
57
+ async fillVariableValueInput(value) {
58
+ await this.variableValueInput.fill(value);
59
+ }
60
+ async clickSaveVariableButton() {
61
+ await this.saveVariableButton.click();
62
+ }
63
+ }
64
+ exports.OperateHomePage = OperateHomePage;
@@ -0,0 +1,14 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class OperateLoginPage {
3
+ private page;
4
+ readonly usernameInput: Locator;
5
+ readonly passwordInput: Locator;
6
+ readonly loginButton: Locator;
7
+ constructor(page: Page);
8
+ fillUsername(username: string): Promise<void>;
9
+ clickUsername(): Promise<void>;
10
+ fillPassword(password: string): Promise<void>;
11
+ clickLoginButton(): Promise<void>;
12
+ login(username: string, password: string): Promise<void>;
13
+ }
14
+ export { OperateLoginPage };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperateLoginPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class OperateLoginPage {
6
+ page;
7
+ usernameInput;
8
+ passwordInput;
9
+ loginButton;
10
+ constructor(page) {
11
+ this.page = page;
12
+ this.usernameInput = page.getByLabel('Username');
13
+ this.passwordInput = page.getByRole('textbox', { name: 'password' });
14
+ this.loginButton = page.getByRole('button', { name: 'Login' });
15
+ }
16
+ async fillUsername(username) {
17
+ await this.usernameInput.fill(username);
18
+ }
19
+ async clickUsername() {
20
+ await this.usernameInput.click({ timeout: 60000 });
21
+ }
22
+ async fillPassword(password) {
23
+ await this.passwordInput.fill(password);
24
+ }
25
+ async clickLoginButton() {
26
+ await this.loginButton.click({ timeout: 60000 });
27
+ }
28
+ async login(username, password) {
29
+ await (0, test_1.expect)(this.usernameInput).toBeVisible({ timeout: 180000 });
30
+ await this.clickUsername();
31
+ await this.fillUsername(username);
32
+ await this.fillPassword(password);
33
+ await (0, test_1.expect)(this.loginButton).toBeVisible({ timeout: 120000 });
34
+ await this.clickLoginButton();
35
+ }
36
+ }
37
+ exports.OperateLoginPage = OperateLoginPage;
@@ -0,0 +1,17 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class OperateProcessInstancePage {
3
+ private page;
4
+ readonly diagram: Locator;
5
+ readonly completedIcon: Locator;
6
+ readonly diagramSpinner: Locator;
7
+ readonly activeIcon: Locator;
8
+ readonly variablesList: Locator;
9
+ readonly messageVariable: Locator;
10
+ readonly statusVariable: Locator;
11
+ constructor(page: Page);
12
+ connectorResultVariableName(name: string): Promise<Locator>;
13
+ connectorResultVariableValue(variableName: string): Promise<Locator>;
14
+ completedIconAssertion(): Promise<void>;
15
+ activeIconAssertion(): Promise<void>;
16
+ }
17
+ export { OperateProcessInstancePage };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperateProcessInstancePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const sleep_1 = require("../../utils/sleep");
6
+ class OperateProcessInstancePage {
7
+ page;
8
+ diagram;
9
+ completedIcon;
10
+ diagramSpinner;
11
+ activeIcon;
12
+ variablesList;
13
+ messageVariable;
14
+ statusVariable;
15
+ constructor(page) {
16
+ this.page = page;
17
+ this.diagram = page.getByTestId('diagram');
18
+ this.completedIcon = page
19
+ .getByTestId('instance-header')
20
+ .getByTestId('COMPLETED-icon');
21
+ this.diagramSpinner = page.getByTestId('diagram-spinner');
22
+ this.activeIcon = page
23
+ .getByTestId('instance-header')
24
+ .getByTestId('ACTIVE-icon');
25
+ this.variablesList = page.getByTestId('variables-list');
26
+ this.messageVariable = page.getByTestId('variable-message');
27
+ this.statusVariable = page.getByTestId('variable-status');
28
+ }
29
+ async connectorResultVariableName(name) {
30
+ return await this.page.getByTestId(name);
31
+ }
32
+ async connectorResultVariableValue(variableName) {
33
+ return await this.page.getByTestId(variableName).locator('td').last();
34
+ }
35
+ async completedIconAssertion() {
36
+ let retryCount = 0;
37
+ const maxRetries = 6;
38
+ while (retryCount < maxRetries) {
39
+ try {
40
+ await (0, test_1.expect)(this.completedIcon).toBeVisible({
41
+ timeout: 60000,
42
+ });
43
+ return; // Exit the function if the expectation is met
44
+ }
45
+ catch (error) {
46
+ // If the active icon isn't found, reload the page and try again
47
+ retryCount++;
48
+ console.log(`Attempt ${retryCount} failed. Retrying...`);
49
+ await this.page.reload();
50
+ await (0, sleep_1.sleep)(10000);
51
+ }
52
+ }
53
+ throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
54
+ }
55
+ async activeIconAssertion() {
56
+ let retryCount = 0;
57
+ const maxRetries = 3;
58
+ while (retryCount < maxRetries) {
59
+ try {
60
+ await (0, test_1.expect)(this.activeIcon).toBeVisible({
61
+ timeout: 90000,
62
+ });
63
+ return; // Exit the function if the expectation is met
64
+ }
65
+ catch (error) {
66
+ // If the active icon isn't found, reload the page and try again
67
+ retryCount++;
68
+ console.log(`Attempt ${retryCount} failed. Retrying...`);
69
+ await this.page.reload();
70
+ await (0, sleep_1.sleep)(10000);
71
+ }
72
+ }
73
+ throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
74
+ }
75
+ }
76
+ exports.OperateProcessInstancePage = OperateProcessInstancePage;
@@ -0,0 +1,20 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class OperateProcessesPage {
3
+ private page;
4
+ readonly processResultCount: Locator;
5
+ readonly processActiveCheckbox: Locator;
6
+ readonly processCompletedCheckbox: Locator;
7
+ readonly processRunningInstancesCheckbox: Locator;
8
+ readonly processIncidentsCheckbox: Locator;
9
+ readonly processPageHeading: Locator;
10
+ readonly noMatchingInstancesMessage: Locator;
11
+ readonly processFinishedInstancesCheckbox: Locator;
12
+ constructor(page: Page);
13
+ clickProcessActiveCheckbox(): Promise<void>;
14
+ clickProcessCompletedCheckbox(): Promise<void>;
15
+ clickProcessIncidentsCheckbox(): Promise<void>;
16
+ clickRunningProcessInstancesCheckbox(): Promise<void>;
17
+ clickFinishedProcessInstancesCheckbox(): Promise<void>;
18
+ clickProcessInstanceLink(processName: string): Promise<void>;
19
+ }
20
+ export { OperateProcessesPage };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperateProcessesPage = void 0;
4
+ const sleep_1 = require("../../utils/sleep");
5
+ class OperateProcessesPage {
6
+ page;
7
+ processResultCount;
8
+ processActiveCheckbox;
9
+ processCompletedCheckbox;
10
+ processRunningInstancesCheckbox;
11
+ processIncidentsCheckbox;
12
+ processPageHeading;
13
+ noMatchingInstancesMessage;
14
+ processFinishedInstancesCheckbox;
15
+ constructor(page) {
16
+ this.page = page;
17
+ this.processResultCount = page.getByTestId('result-count');
18
+ this.processActiveCheckbox = page
19
+ .locator('label')
20
+ .filter({ hasText: 'Active' });
21
+ this.processCompletedCheckbox = page
22
+ .locator('label')
23
+ .filter({ hasText: 'Completed' });
24
+ this.processRunningInstancesCheckbox = page
25
+ .locator('label')
26
+ .filter({ hasText: 'Running Instances' });
27
+ this.processIncidentsCheckbox = page
28
+ .locator('label')
29
+ .filter({ hasText: 'Incidents' });
30
+ this.processPageHeading = page
31
+ .getByTestId('expanded-panel')
32
+ .getByRole('heading', { name: 'Process' });
33
+ this.noMatchingInstancesMessage = page.getByText('There are no Instances matching this filter set');
34
+ this.processFinishedInstancesCheckbox = page
35
+ .getByTestId('filter-finished-instances')
36
+ .getByRole('checkbox');
37
+ }
38
+ async clickProcessActiveCheckbox() {
39
+ await this.processActiveCheckbox.click();
40
+ }
41
+ async clickProcessCompletedCheckbox() {
42
+ await (0, sleep_1.sleep)(5000);
43
+ if (!(await this.processCompletedCheckbox.isChecked({ timeout: 60000 }))) {
44
+ await this.processCompletedCheckbox.click({ timeout: 120000 });
45
+ await (0, sleep_1.sleep)(1000);
46
+ }
47
+ }
48
+ async clickProcessIncidentsCheckbox() {
49
+ await this.processIncidentsCheckbox.click({ timeout: 90000 });
50
+ }
51
+ async clickRunningProcessInstancesCheckbox() {
52
+ await this.processRunningInstancesCheckbox.click({ timeout: 90000 });
53
+ }
54
+ async clickFinishedProcessInstancesCheckbox() {
55
+ await this.processFinishedInstancesCheckbox.click({ timeout: 90000 });
56
+ }
57
+ async clickProcessInstanceLink(processName) {
58
+ let retryCount = 0;
59
+ const maxRetries = 3;
60
+ while (retryCount < maxRetries) {
61
+ try {
62
+ await (0, sleep_1.sleep)(1000);
63
+ await this.page.reload();
64
+ await (0, sleep_1.sleep)(1000);
65
+ await this.page
66
+ .getByRole('row')
67
+ .filter({ hasText: new RegExp(`^Select row${processName}\\d+.*$`) })
68
+ .first()
69
+ .getByRole('link')
70
+ .click({ timeout: 30000 });
71
+ return; // Exit the function if the click is successful
72
+ }
73
+ catch (error) {
74
+ // If process isn't found, reload the page and try again
75
+ retryCount++;
76
+ console.log(`Attempt ${retryCount} failed. Retrying...`);
77
+ await this.page.reload();
78
+ await (0, sleep_1.sleep)(10000);
79
+ }
80
+ }
81
+ throw new Error(`Failed to click on process instance link after ${maxRetries} attempts.`);
82
+ }
83
+ }
84
+ exports.OperateProcessesPage = OperateProcessesPage;
@@ -0,0 +1,65 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class TaskDetailsPage {
3
+ private page;
4
+ readonly assignToMeButton: Locator;
5
+ readonly completeButton: Locator;
6
+ readonly unassignButton: Locator;
7
+ readonly assignee: Locator;
8
+ readonly completeTaskButton: Locator;
9
+ readonly addVariableButton: Locator;
10
+ readonly detailsPanel: Locator;
11
+ readonly detailsHeader: Locator;
12
+ readonly pendingTaskDescription: Locator;
13
+ readonly pickATaskHeader: Locator;
14
+ readonly emptyTaskMessage: Locator;
15
+ readonly nameInput: Locator;
16
+ readonly addressInput: Locator;
17
+ readonly ageInput: Locator;
18
+ readonly variablesTable: Locator;
19
+ readonly nameColumnHeader: Locator;
20
+ readonly valueColumnHeader: Locator;
21
+ readonly form: Locator;
22
+ readonly numberInput: Locator;
23
+ readonly incrementButton: Locator;
24
+ readonly decrementButton: Locator;
25
+ readonly dateInput: Locator;
26
+ readonly timeInput: Locator;
27
+ readonly checkbox: Locator;
28
+ readonly selectDropdown: Locator;
29
+ readonly tagList: Locator;
30
+ readonly detailsInfo: Locator;
31
+ readonly textInput: Locator;
32
+ readonly taskCompletedBanner: Locator;
33
+ readonly assignedToMeText: Locator;
34
+ constructor(page: Page);
35
+ clickAssignToMeButton(): Promise<void>;
36
+ clickUnassignButton(): Promise<void>;
37
+ clickCompleteTaskButton(): Promise<void>;
38
+ clickAddVariableButton(): Promise<void>;
39
+ replaceExistingVariableValue(values: {
40
+ name: string;
41
+ value: string;
42
+ }): Promise<void>;
43
+ getNthVariableNameInput(nth: number): Locator;
44
+ getNthVariableValueInput(nth: number): Locator;
45
+ addVariable(payload: {
46
+ name: string;
47
+ value: string;
48
+ }): Promise<void>;
49
+ fillNumber(number: string): Promise<void>;
50
+ clickIncrementButton(): Promise<void>;
51
+ clickDecrementButton(): Promise<void>;
52
+ fillDate(date: string): Promise<void>;
53
+ enterTime(time: string): Promise<void>;
54
+ checkCheckbox(): Promise<void>;
55
+ selectDropdownValue(value: string): Promise<void>;
56
+ clickRadioButton(radioBtnLabel: string): Promise<void>;
57
+ checkChecklistBox(label: string): Promise<void>;
58
+ enterTwoValuesInTagList(value1: string, value2: string): Promise<void>;
59
+ clickTextInput(): Promise<void>;
60
+ fillTextInput(value: string): Promise<void>;
61
+ priorityAssertion(priority: string): Promise<void>;
62
+ taskAssertion(name: string): Promise<void>;
63
+ assertVariableValue(variableName: string, variableValue: string): Promise<void>;
64
+ }
65
+ export { TaskDetailsPage };