@alfresco/aca-playwright-shared 5.1.1 → 5.2.0
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/api/tags-api.d.ts +8 -2
- package/esm2022/api/api-client-factory.mjs +131 -0
- package/esm2022/api/categories-api.mjs +66 -0
- package/esm2022/api/favorites-api.mjs +130 -0
- package/esm2022/api/file-actions.mjs +167 -0
- package/esm2022/api/nodes-api.mjs +428 -0
- package/esm2022/api/people-api-models.mjs +41 -0
- package/esm2022/api/queries-api.mjs +70 -0
- package/esm2022/api/rules-api.mjs +258 -0
- package/esm2022/api/search-api.mjs +75 -0
- package/esm2022/api/shared-links-api.mjs +137 -0
- package/esm2022/api/sites-api.mjs +156 -0
- package/esm2022/api/tags-api.mjs +92 -0
- package/esm2022/api/trashcan-api.mjs +52 -0
- package/{esm2020 → esm2022}/models/user-model.mjs +11 -5
- package/esm2022/page-objects/components/aca-header.component.mjs +78 -0
- package/esm2022/page-objects/components/actions-dropdown.component.mjs +100 -0
- package/esm2022/page-objects/components/adf-info-drawer.component.mjs +102 -0
- package/esm2022/page-objects/components/base.component.mjs +70 -0
- package/esm2022/page-objects/components/breadcrumb/breadcrumb.component.mjs +47 -0
- package/esm2022/page-objects/components/conditions.component.mjs +72 -0
- package/esm2022/page-objects/components/dataTable/data-table.component.mjs +343 -0
- package/esm2022/page-objects/components/dataTable/mat-menu.component.mjs +67 -0
- package/{esm2020/page-objects/components/dialogs/manage-versions-dialog.component.mjs → esm2022/page-objects/components/dataTable/toolbar.component.mjs} +13 -8
- package/esm2022/page-objects/components/datetime-picker/datetime-picker.component.mjs +53 -0
- package/esm2022/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/adf-folder-dialog.component.mjs +57 -0
- package/esm2022/page-objects/components/dialogs/adf-library-dialog.component.mjs +64 -0
- package/esm2022/page-objects/components/dialogs/content-node-selector-dialog.mjs +68 -0
- package/esm2022/page-objects/components/dialogs/create-from-template-dialog-component.mjs +55 -0
- package/esm2022/page-objects/components/dialogs/delete-trash-dialog.component.mjs +54 -0
- package/esm2022/page-objects/components/dialogs/edit-dialog.component.mjs +39 -0
- package/esm2022/page-objects/components/dialogs/link-rules.component.mjs +58 -0
- package/esm2022/page-objects/components/dialogs/manage-versions-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/password-overlay-dialog.component.mjs +71 -0
- package/esm2022/page-objects/components/dialogs/share-dialog.component.mjs +85 -0
- package/esm2022/page-objects/components/dialogs/upload-dialog.component.mjs +36 -0
- package/esm2022/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +38 -0
- package/esm2022/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +56 -0
- package/esm2022/page-objects/components/error.component.mjs +34 -0
- package/esm2022/page-objects/components/manageRules/manage-rules-dialog.component.mjs +64 -0
- package/esm2022/page-objects/components/manageRules/manage-rules.component.mjs +70 -0
- package/esm2022/page-objects/components/pagination.component.mjs +174 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-categories.component.mjs +33 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-date.component.mjs +115 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-location.component.mjs +40 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-logic.component.mjs +36 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-properties.component.mjs +83 -0
- package/esm2022/page-objects/components/search/search-filters/search-filters-tags.component.mjs +40 -0
- package/esm2022/page-objects/components/search/search-filters.component.mjs +45 -0
- package/esm2022/page-objects/components/search/search-input.component.mjs +48 -0
- package/esm2022/page-objects/components/search/search-overlay.components.mjs +83 -0
- package/esm2022/page-objects/components/search/search-sorting-picker.components.mjs +72 -0
- package/esm2022/page-objects/components/sidenav.component.mjs +88 -0
- package/esm2022/page-objects/components/snackBar/snack-bar.component.mjs +54 -0
- package/esm2022/page-objects/components/spinner.component.mjs +41 -0
- package/esm2022/page-objects/components/viewer.component.mjs +110 -0
- package/esm2022/page-objects/pages/base.page.mjs +84 -0
- package/esm2022/page-objects/pages/favorites-libraries.page.mjs +43 -0
- package/esm2022/page-objects/pages/favorites.page.mjs +49 -0
- package/esm2022/page-objects/pages/login.page.mjs +62 -0
- package/esm2022/page-objects/pages/my-libraries.page.mjs +54 -0
- package/esm2022/page-objects/pages/nodes.page.mjs +40 -0
- package/esm2022/page-objects/pages/personal-files.page.mjs +85 -0
- package/esm2022/page-objects/pages/recent-files.page.mjs +45 -0
- package/esm2022/page-objects/pages/search.page.mjs +79 -0
- package/esm2022/page-objects/pages/shared.page.mjs +45 -0
- package/esm2022/page-objects/pages/trash.page.mjs +45 -0
- package/esm2022/page-objects/playwright-base.mjs +33 -0
- package/esm2022/resources/test-files/index.mjs +102 -0
- package/esm2022/utils/logger.mjs +71 -0
- package/esm2022/utils/utils.mjs +145 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-playwright-shared.mjs +816 -675
- package/fesm2022/alfresco-aca-playwright-shared.mjs.map +1 -0
- package/package.json +5 -11
- package/page-objects/components/adf-info-drawer.component.d.ts +18 -0
- package/page-objects/components/viewer.component.d.ts +11 -0
- package/page-objects/pages/search.page.d.ts +1 -1
- package/resources/test-files/index.d.ts +24 -0
- package/utils/utils.d.ts +2 -2
- package/esm2020/api/api-client-factory.mjs +0 -111
- package/esm2020/api/categories-api.mjs +0 -65
- package/esm2020/api/favorites-api.mjs +0 -129
- package/esm2020/api/file-actions.mjs +0 -166
- package/esm2020/api/nodes-api.mjs +0 -427
- package/esm2020/api/people-api-models.mjs +0 -34
- package/esm2020/api/queries-api.mjs +0 -69
- package/esm2020/api/rules-api.mjs +0 -251
- package/esm2020/api/search-api.mjs +0 -74
- package/esm2020/api/shared-links-api.mjs +0 -136
- package/esm2020/api/sites-api.mjs +0 -155
- package/esm2020/api/tags-api.mjs +0 -61
- package/esm2020/api/trashcan-api.mjs +0 -54
- package/esm2020/page-objects/components/aca-header.component.mjs +0 -77
- package/esm2020/page-objects/components/actions-dropdown.component.mjs +0 -99
- package/esm2020/page-objects/components/adf-info-drawer.component.mjs +0 -83
- package/esm2020/page-objects/components/base.component.mjs +0 -69
- package/esm2020/page-objects/components/breadcrumb/breadcrumb.component.mjs +0 -46
- package/esm2020/page-objects/components/conditions.component.mjs +0 -75
- package/esm2020/page-objects/components/dataTable/data-table.component.mjs +0 -341
- package/esm2020/page-objects/components/dataTable/mat-menu.component.mjs +0 -66
- package/esm2020/page-objects/components/dataTable/toolbar.component.mjs +0 -39
- package/esm2020/page-objects/components/datetime-picker/datetime-picker.component.mjs +0 -52
- package/esm2020/page-objects/components/dialogs/adf-confirm-dialog.component.mjs +0 -35
- package/esm2020/page-objects/components/dialogs/adf-folder-dialog.component.mjs +0 -56
- package/esm2020/page-objects/components/dialogs/adf-library-dialog.component.mjs +0 -63
- package/esm2020/page-objects/components/dialogs/content-node-selector-dialog.mjs +0 -67
- package/esm2020/page-objects/components/dialogs/create-from-template-dialog-component.mjs +0 -54
- package/esm2020/page-objects/components/dialogs/delete-trash-dialog.component.mjs +0 -53
- package/esm2020/page-objects/components/dialogs/edit-dialog.component.mjs +0 -38
- package/esm2020/page-objects/components/dialogs/link-rules.component.mjs +0 -57
- package/esm2020/page-objects/components/dialogs/password-overlay-dialog.component.mjs +0 -70
- package/esm2020/page-objects/components/dialogs/share-dialog.component.mjs +0 -84
- package/esm2020/page-objects/components/dialogs/upload-dialog.component.mjs +0 -35
- package/esm2020/page-objects/components/dialogs/upload-new-version-dialog.component.mjs +0 -37
- package/esm2020/page-objects/components/dialogs/viewer-overlay-dialog.component.mjs +0 -55
- package/esm2020/page-objects/components/error.component.mjs +0 -33
- package/esm2020/page-objects/components/manageRules/manage-rules-dialog.component.mjs +0 -63
- package/esm2020/page-objects/components/manageRules/manage-rules.component.mjs +0 -69
- package/esm2020/page-objects/components/pagination.component.mjs +0 -173
- package/esm2020/page-objects/components/search/search-filters/search-filters-categories.component.mjs +0 -32
- package/esm2020/page-objects/components/search/search-filters/search-filters-date.component.mjs +0 -114
- package/esm2020/page-objects/components/search/search-filters/search-filters-location.component.mjs +0 -39
- package/esm2020/page-objects/components/search/search-filters/search-filters-logic.component.mjs +0 -35
- package/esm2020/page-objects/components/search/search-filters/search-filters-properties.component.mjs +0 -82
- package/esm2020/page-objects/components/search/search-filters/search-filters-tags.component.mjs +0 -39
- package/esm2020/page-objects/components/search/search-filters.component.mjs +0 -44
- package/esm2020/page-objects/components/search/search-input.component.mjs +0 -47
- package/esm2020/page-objects/components/search/search-overlay.components.mjs +0 -82
- package/esm2020/page-objects/components/search/search-sorting-picker.components.mjs +0 -71
- package/esm2020/page-objects/components/sidenav.component.mjs +0 -86
- package/esm2020/page-objects/components/snackBar/snack-bar.component.mjs +0 -53
- package/esm2020/page-objects/components/spinner.component.mjs +0 -40
- package/esm2020/page-objects/components/viewer.component.mjs +0 -92
- package/esm2020/page-objects/pages/base.page.mjs +0 -80
- package/esm2020/page-objects/pages/favorites-libraries.page.mjs +0 -42
- package/esm2020/page-objects/pages/favorites.page.mjs +0 -48
- package/esm2020/page-objects/pages/login.page.mjs +0 -61
- package/esm2020/page-objects/pages/my-libraries.page.mjs +0 -53
- package/esm2020/page-objects/pages/nodes.page.mjs +0 -39
- package/esm2020/page-objects/pages/personal-files.page.mjs +0 -84
- package/esm2020/page-objects/pages/recent-files.page.mjs +0 -44
- package/esm2020/page-objects/pages/search.page.mjs +0 -78
- package/esm2020/page-objects/pages/shared.page.mjs +0 -44
- package/esm2020/page-objects/pages/trash.page.mjs +0 -44
- package/esm2020/page-objects/playwright-base.mjs +0 -31
- package/esm2020/resources/test-files/index.mjs +0 -78
- package/esm2020/utils/logger.mjs +0 -69
- package/esm2020/utils/utils.mjs +0 -144
- package/fesm2015/alfresco-aca-playwright-shared.mjs +0 -6267
- package/fesm2015/alfresco-aca-playwright-shared.mjs.map +0 -1
- package/fesm2020/alfresco-aca-playwright-shared.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alfresco-aca-playwright-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/api/index.mjs +0 -0
- /package/{esm2020 → esm2022}/api/node-content-tree.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/global-variables.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/global.setup.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/index.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/playwright.config.mjs +0 -0
- /package/{esm2020 → esm2022}/base-config/report-portal.config.mjs +0 -0
- /package/{esm2020 → esm2022}/fixtures/index.mjs +0 -0
- /package/{esm2020 → esm2022}/fixtures/page-initialization.mjs +0 -0
- /package/{esm2020 → esm2022}/models/custom-config.mjs +0 -0
- /package/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/dataTable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/dialogs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/components/manageRules/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/index.mjs +0 -0
- /package/{esm2020 → esm2022}/page-objects/pages/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/test-data-files-folders.mjs +0 -0
- /package/{esm2020 → esm2022}/resources/test-data/test-data-permissions.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/api.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/config.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/error-strings.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/exclude-tests.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/library-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/paths.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/state-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/timeouts.mjs +0 -0
|
@@ -166,6 +166,8 @@ function getUserState(user) {
|
|
|
166
166
|
*/
|
|
167
167
|
const crypto = require('crypto');
|
|
168
168
|
class Utils {
|
|
169
|
+
static string257Long = 'x'.repeat(257);
|
|
170
|
+
static string513Long = 'x'.repeat(513);
|
|
169
171
|
static random() {
|
|
170
172
|
return crypto.getRandomValues(new Uint32Array(1))[0].toString(36).substring(0, 5).toLowerCase();
|
|
171
173
|
}
|
|
@@ -279,8 +281,6 @@ class Utils {
|
|
|
279
281
|
});
|
|
280
282
|
}
|
|
281
283
|
}
|
|
282
|
-
Utils.string257Long = 'x'.repeat(257);
|
|
283
|
-
Utils.string513Long = 'x'.repeat(513);
|
|
284
284
|
|
|
285
285
|
/*!
|
|
286
286
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -492,13 +492,13 @@ const logColor = '\x1b[35m%s\x1b[0m';
|
|
|
492
492
|
const warnColor = '\x1b[33m%s\x1b[0m';
|
|
493
493
|
const errorColor = '\x1b[31m%s\x1b[0m';
|
|
494
494
|
class LogLevelsEnum extends Number {
|
|
495
|
+
static TRACE = 5;
|
|
496
|
+
static DEBUG = 4;
|
|
497
|
+
static INFO = 3;
|
|
498
|
+
static WARN = 2;
|
|
499
|
+
static ERROR = 1;
|
|
500
|
+
static SILENT = 0;
|
|
495
501
|
}
|
|
496
|
-
LogLevelsEnum.TRACE = 5;
|
|
497
|
-
LogLevelsEnum.DEBUG = 4;
|
|
498
|
-
LogLevelsEnum.INFO = 3;
|
|
499
|
-
LogLevelsEnum.WARN = 2;
|
|
500
|
-
LogLevelsEnum.ERROR = 1;
|
|
501
|
-
LogLevelsEnum.SILENT = 0;
|
|
502
502
|
const logLevels = [
|
|
503
503
|
{ level: LogLevelsEnum.TRACE, name: 'TRACE' },
|
|
504
504
|
{ level: LogLevelsEnum.DEBUG, name: 'DEBUG' },
|
|
@@ -509,6 +509,7 @@ const logLevels = [
|
|
|
509
509
|
];
|
|
510
510
|
/* eslint-disable no-console */
|
|
511
511
|
class GenericLogger {
|
|
512
|
+
level;
|
|
512
513
|
constructor(logLevel) {
|
|
513
514
|
this.level = logLevels.find(({ name }) => name === logLevel)?.level || LogLevelsEnum.ERROR;
|
|
514
515
|
}
|
|
@@ -580,6 +581,8 @@ class GenericLogger {
|
|
|
580
581
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
581
582
|
*/
|
|
582
583
|
class PlaywrightBase {
|
|
584
|
+
page;
|
|
585
|
+
logger;
|
|
583
586
|
constructor(page) {
|
|
584
587
|
this.page = page;
|
|
585
588
|
this.logger = new GenericLogger(process.env.PLAYWRIGHT_CUSTOM_LOG_LEVEL);
|
|
@@ -610,10 +613,11 @@ class PlaywrightBase {
|
|
|
610
613
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
611
614
|
*/
|
|
612
615
|
class BaseComponent extends PlaywrightBase {
|
|
616
|
+
rootElement;
|
|
617
|
+
overlayElement = this.page.locator('.cdk-overlay-backdrop-showing');
|
|
618
|
+
progressBar = this.page.locator('mat-progress-bar');
|
|
613
619
|
constructor(page, rootElement) {
|
|
614
620
|
super(page);
|
|
615
|
-
this.overlayElement = this.page.locator('.cdk-overlay-backdrop-showing');
|
|
616
|
-
this.progressBar = this.page.locator('mat-progress-bar');
|
|
617
621
|
this.rootElement = rootElement;
|
|
618
622
|
}
|
|
619
623
|
/**
|
|
@@ -677,12 +681,13 @@ class BaseComponent extends PlaywrightBase {
|
|
|
677
681
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
678
682
|
*/
|
|
679
683
|
class SnackBarComponent extends BaseComponent {
|
|
684
|
+
static rootElement = 'adf-snackbar-content';
|
|
685
|
+
message = this.getChild('[data-automation-id="adf-snackbar-message-content"]').first();
|
|
686
|
+
actionButton = this.getChild('[data-automation-id="adf-snackbar-message-content-action-button"]');
|
|
687
|
+
closeIcon = this.getChild('.adf-snackbar-message-content-action-icon');
|
|
688
|
+
getByMessageLocator = (message) => this.getChild(`[data-automation-id='adf-snackbar-message-content']`, { hasText: message }).first();
|
|
680
689
|
constructor(page, rootElement = SnackBarComponent.rootElement) {
|
|
681
690
|
super(page, rootElement);
|
|
682
|
-
this.message = this.getChild('[data-automation-id="adf-snackbar-message-content"]').first();
|
|
683
|
-
this.actionButton = this.getChild('[data-automation-id="adf-snackbar-message-content-action-button"]');
|
|
684
|
-
this.closeIcon = this.getChild('.adf-snackbar-message-content-action-icon');
|
|
685
|
-
this.getByMessageLocator = (message) => this.getChild(`[data-automation-id='adf-snackbar-message-content']`, { hasText: message }).first();
|
|
686
691
|
}
|
|
687
692
|
async getSnackBarMessage() {
|
|
688
693
|
return this.message.textContent();
|
|
@@ -702,7 +707,6 @@ class SnackBarComponent extends BaseComponent {
|
|
|
702
707
|
await this.actionButton.click();
|
|
703
708
|
}
|
|
704
709
|
}
|
|
705
|
-
SnackBarComponent.rootElement = 'adf-snackbar-content';
|
|
706
710
|
|
|
707
711
|
/*!
|
|
708
712
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -728,17 +732,18 @@ SnackBarComponent.rootElement = 'adf-snackbar-content';
|
|
|
728
732
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
729
733
|
*/
|
|
730
734
|
class MatMenuComponent extends BaseComponent {
|
|
735
|
+
static rootElement = '.mat-mdc-menu-content';
|
|
731
736
|
constructor(page) {
|
|
732
737
|
super(page, MatMenuComponent.rootElement);
|
|
733
|
-
this.getMenuItemsLocator = this.getChild('button');
|
|
734
|
-
this.getMenuItemTextLocator = this.getChild('[data-automation-id="menu-item-title"]');
|
|
735
|
-
this.createFolder = this.getChild('[id="app.create.folder"]');
|
|
736
|
-
this.createFolderFromTemplate = this.getChild('[id="app.create.folderFromTemplate"]');
|
|
737
|
-
this.createFileFromTemplate = this.getChild('[id="app.create.fileFromTemplate"]');
|
|
738
|
-
this.createLibrary = this.getChild('[id="app.create.library"]');
|
|
739
|
-
this.getButtonByText = (text) => this.getChild('button', { hasText: text });
|
|
740
|
-
this.getMenuItemFromHeaderMenu = (text) => this.page.getByRole('menuitem', { name: text, exact: true });
|
|
741
738
|
}
|
|
739
|
+
getMenuItemsLocator = this.getChild('button');
|
|
740
|
+
getMenuItemTextLocator = this.getChild('[data-automation-id="menu-item-title"]');
|
|
741
|
+
createFolder = this.getChild('[id="app.create.folder"]');
|
|
742
|
+
createFolderFromTemplate = this.getChild('[id="app.create.folderFromTemplate"]');
|
|
743
|
+
createFileFromTemplate = this.getChild('[id="app.create.fileFromTemplate"]');
|
|
744
|
+
createLibrary = this.getChild('[id="app.create.library"]');
|
|
745
|
+
getButtonByText = (text) => this.getChild('button', { hasText: text });
|
|
746
|
+
getMenuItemFromHeaderMenu = (text) => this.page.getByRole('menuitem', { name: text, exact: true });
|
|
742
747
|
async clickMenuItem(menuItem) {
|
|
743
748
|
const menuElement = this.getButtonByText(menuItem);
|
|
744
749
|
await menuElement.click();
|
|
@@ -758,7 +763,7 @@ class MatMenuComponent extends BaseComponent {
|
|
|
758
763
|
await this.page.locator('.mat-mdc-menu-content').waitFor({ state: 'attached' });
|
|
759
764
|
const menus = await this.page.$$('.mat-mdc-menu-content .mat-mdc-menu-item');
|
|
760
765
|
const actualMoreActions = await Promise.all(menus.map(async (button) => {
|
|
761
|
-
const title = await (await button.$('.mdc-
|
|
766
|
+
const title = await (await button.$('.mat-mdc-menu-item-text span')).innerText();
|
|
762
767
|
return title || '';
|
|
763
768
|
}));
|
|
764
769
|
for (const action of expectedToolbarMore) {
|
|
@@ -766,7 +771,6 @@ class MatMenuComponent extends BaseComponent {
|
|
|
766
771
|
}
|
|
767
772
|
}
|
|
768
773
|
}
|
|
769
|
-
MatMenuComponent.rootElement = '.mat-mdc-menu-content';
|
|
770
774
|
|
|
771
775
|
/*!
|
|
772
776
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -798,20 +802,21 @@ var PaginationActionsType;
|
|
|
798
802
|
PaginationActionsType["NextPageSelector"] = "Next page button";
|
|
799
803
|
})(PaginationActionsType || (PaginationActionsType = {}));
|
|
800
804
|
class PaginationComponent extends BaseComponent {
|
|
805
|
+
static rootElement = 'adf-pagination';
|
|
801
806
|
constructor(page) {
|
|
802
807
|
super(page, PaginationComponent.rootElement);
|
|
803
|
-
this.range = this.getChild('.adf-pagination__range');
|
|
804
|
-
this.maxItems = this.getChild('.adf-pagination__max-items');
|
|
805
|
-
this.currentPage = this.getChild('.adf-pagination__current-page');
|
|
806
|
-
this.totalPages = this.getChild('.adf-pagination__total-pages');
|
|
807
|
-
this.previousButton = this.getChild('.adf-pagination__previous-button');
|
|
808
|
-
this.nextButton = this.getChild('.adf-pagination__next-button');
|
|
809
|
-
this.maxItemsButton = this.getChild('.adf-pagination__max-items + button[mat-icon-button]');
|
|
810
|
-
this.itemsPerPageMenu = new MatMenuComponent(this.page);
|
|
811
|
-
this.currentPageLocator = this.getChild('.adf-pagination__current-page');
|
|
812
|
-
this.totalPageLocator = this.getChild('.adf-pagination__total-pages');
|
|
813
|
-
this.getArrowLocatorFor = (action) => this.getChild(`[aria-label="${action}"]`);
|
|
814
808
|
}
|
|
809
|
+
range = this.getChild('.adf-pagination__range');
|
|
810
|
+
maxItems = this.getChild('.adf-pagination__max-items');
|
|
811
|
+
currentPage = this.getChild('.adf-pagination__current-page');
|
|
812
|
+
totalPages = this.getChild('.adf-pagination__total-pages');
|
|
813
|
+
previousButton = this.getChild('.adf-pagination__previous-button');
|
|
814
|
+
nextButton = this.getChild('.adf-pagination__next-button');
|
|
815
|
+
maxItemsButton = this.getChild('.adf-pagination__max-items + button[mat-icon-button]');
|
|
816
|
+
itemsPerPageMenu = new MatMenuComponent(this.page);
|
|
817
|
+
currentPageLocator = this.getChild('.adf-pagination__current-page');
|
|
818
|
+
totalPageLocator = this.getChild('.adf-pagination__total-pages');
|
|
819
|
+
getArrowLocatorFor = (action) => this.getChild(`[aria-label="${action}"]`);
|
|
815
820
|
async setItemsPerPage(amount) {
|
|
816
821
|
await this.getArrowLocatorFor(PaginationActionsType.PageSizeSelector).click();
|
|
817
822
|
await this.itemsPerPageMenu.getButtonByText(amount.toString()).click();
|
|
@@ -936,7 +941,6 @@ class PaginationComponent extends BaseComponent {
|
|
|
936
941
|
return this.nextButton.isVisible();
|
|
937
942
|
}
|
|
938
943
|
}
|
|
939
|
-
PaginationComponent.rootElement = 'adf-pagination';
|
|
940
944
|
|
|
941
945
|
/*!
|
|
942
946
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -962,110 +966,112 @@ PaginationComponent.rootElement = 'adf-pagination';
|
|
|
962
966
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
963
967
|
*/
|
|
964
968
|
class DataTableComponent extends BaseComponent {
|
|
969
|
+
static rootElement = 'adf-datatable';
|
|
970
|
+
contextMenuActions = new MatMenuComponent(this.page);
|
|
965
971
|
constructor(page, rootElement = DataTableComponent.rootElement) {
|
|
966
972
|
super(page, rootElement);
|
|
967
|
-
this.contextMenuActions = new MatMenuComponent(this.page);
|
|
968
|
-
this.pagination = new PaginationComponent(this.page);
|
|
969
|
-
this.body = this.getChild('.adf-datatable-body');
|
|
970
|
-
this.getEmptyFolderLocator = this.getChild('.adf-empty-folder');
|
|
971
|
-
this.getEmptyContentTitleLocator = this.getChild('adf-empty-content .adf-empty-content__title');
|
|
972
|
-
this.getEmptyContentSubTitleLocator = this.getChild('adf-empty-content .adf-empty-content__subtitle');
|
|
973
|
-
this.getSelectedRow = this.getChild('.adf-datatable-row.adf-is-selected');
|
|
974
|
-
this.sortedColumnHeader = this.getChild(`.adf-datatable__header--sorted-asc .adf-datatable-cell-header-content .adf-datatable-cell-value,
|
|
975
|
-
.adf-datatable__header--sorted-desc .adf-datatable-cell-header-content .adf-datatable-cell-value`);
|
|
976
|
-
this.columnHeaders = this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value');
|
|
977
|
-
this.emptyList = this.getChild('div.adf-no-content-container');
|
|
978
|
-
this.emptyListTitle = this.getChild('.adf-empty-content__title');
|
|
979
|
-
this.emptyListSubtitle = this.getChild('.adf-empty-content__subtitle');
|
|
980
|
-
this.emptySearchText = this.getChild('.empty-search__text');
|
|
981
|
-
this.emptyListTest = this.getChild('adf-custom-empty-content-template');
|
|
982
|
-
this.paginationButton = this.page.locator('.adf-pagination__block button').nth(0);
|
|
983
|
-
this.paginationOptions = this.page.locator('#cdk-overlay-0 button');
|
|
984
|
-
this.sitesVisibility = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Visibility"]');
|
|
985
|
-
this.sitesName = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Name"]');
|
|
986
|
-
this.sitesRole = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="My Role"]');
|
|
987
|
-
this.lockOwner = this.page.locator('.aca-locked-by--name');
|
|
988
|
-
this.uncheckedCheckbox = this.page.locator('.mat-mdc-checkbox');
|
|
989
|
-
this.checkedCheckbox = this.page.locator('.mat-mdc-checkbox-checked');
|
|
990
|
-
this.highlightedText = '.aca-highlight';
|
|
991
|
-
this.searchFileName = '.search-file-name';
|
|
992
|
-
this.searchFileDescription = '[data-automation-id="search-results-entry-description"]';
|
|
993
|
-
this.searchFileContent = '.aca-result-content';
|
|
994
|
-
/** Locator for row (or rows) */
|
|
995
|
-
this.getRowLocator = this.page.getByRole('rowgroup').nth(1).locator('adf-datatable-row');
|
|
996
|
-
/** Locator to get "No results found" message */
|
|
997
|
-
this.getNoResultsFoundMessage = this.getChild('adf-custom-empty-content-template', { hasText: 'No results found' });
|
|
998
|
-
/**
|
|
999
|
-
* Method used in cases where we want to check that some record is visible in the datatable. It will consider whole row
|
|
1000
|
-
*
|
|
1001
|
-
* @returns reference to cell element which contains text.
|
|
1002
|
-
*/
|
|
1003
|
-
this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
1004
|
-
/**
|
|
1005
|
-
* Method used in cases where we want to check that some record is visible in the datatable.
|
|
1006
|
-
* But we want to check it by column header title and value of this column.
|
|
1007
|
-
*
|
|
1008
|
-
* @returns reference to cell element which contains text.
|
|
1009
|
-
*/
|
|
1010
|
-
this.getRowByColumnTitleAndItsCellValue = (columnTitle, cellValue) => this.page.locator(`//div[contains(@title, '${columnTitle}')]//span[contains(text(), '${cellValue}')]/ancestor::adf-datatable-row`);
|
|
1011
|
-
/**
|
|
1012
|
-
* Method used in cases where we want to retrieve a row from the datatable based on its numerical order within the array.
|
|
1013
|
-
*
|
|
1014
|
-
* @returns reference to cell element which contains text.
|
|
1015
|
-
*/
|
|
1016
|
-
this.getNthRow = (orderNum) => this.getRowLocator.nth(orderNum);
|
|
1017
|
-
/**
|
|
1018
|
-
* Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
|
|
1019
|
-
* Perform action .click() to navigate inside it
|
|
1020
|
-
*
|
|
1021
|
-
* @returns reference to cell element which contains link.
|
|
1022
|
-
*/
|
|
1023
|
-
this.getCellLinkByName = (name) => this.getChild('.adf-cell-value span[role="link"]', { hasText: name });
|
|
1024
|
-
/**
|
|
1025
|
-
* Method used in cases where we want to localize the element by [aria-label]
|
|
1026
|
-
*
|
|
1027
|
-
* @returns reference to cell element.
|
|
1028
|
-
*/
|
|
1029
|
-
this.getByAriaLabelTitle = (title) => this.getChild(`[aria-label="${title}"]`);
|
|
1030
|
-
/**
|
|
1031
|
-
* Method used in cases where we want to get the button (hamburger menu) for row element
|
|
1032
|
-
*
|
|
1033
|
-
* @returns reference to menu placed in row localized by the name
|
|
1034
|
-
*/
|
|
1035
|
-
this.getActionsButtonByName = (name) => this.getRowByName(name).locator('mat-icon', { hasText: new RegExp(`^\\s*more_vert\\s*$`, 'g') });
|
|
1036
|
-
/**
|
|
1037
|
-
* Method used in cases where we want to get the edit button and there is no hamburger menu
|
|
1038
|
-
*
|
|
1039
|
-
* @returns reference to edit button placed in row localized by the name
|
|
1040
|
-
*/
|
|
1041
|
-
this.getEditButtonByName = (name) => this.getRowByName(name).locator('button#editButton');
|
|
1042
|
-
/**
|
|
1043
|
-
* Method used in cases where we want to get the button and there is no hamburger menu
|
|
1044
|
-
*
|
|
1045
|
-
* @returns reference to button placed in row localized by the name
|
|
1046
|
-
*/
|
|
1047
|
-
this.getButtonByNameForSpecificRow = (elementTitleInRow, buttonTitle) => this.getRowByName(elementTitleInRow).locator('button', { hasText: buttonTitle });
|
|
1048
|
-
/**
|
|
1049
|
-
* Method used in cases where you want to get some specific cell (by column name) for row which contains some name/title/etc.
|
|
1050
|
-
*
|
|
1051
|
-
* @returns reference to cell element
|
|
1052
|
-
*/
|
|
1053
|
-
this.getCellByColumnNameAndRowItem = (item, columnName) => this.getRowByName(item).locator(`[title="${columnName}"]`);
|
|
1054
|
-
/**
|
|
1055
|
-
* Method used in cases where we want to get the checkbox for row element
|
|
1056
|
-
*
|
|
1057
|
-
* @returns reference to checkbox placed in row localized by the name
|
|
1058
|
-
*/
|
|
1059
|
-
this.getCheckboxForElement = (item) => this.getRowByName(item).locator('.mat-mdc-checkbox');
|
|
1060
|
-
this.getColumnHeaderByTitleLocator = (headerTitle) => this.getChild('[role="columnheader"]', { hasText: headerTitle });
|
|
1061
|
-
this.getSearchResultLinkByName = (name) => this.getChild('.aca-search-results-row span[role="link"]', { hasText: name });
|
|
1062
|
-
this.getColumnValuesByName = (name) => this.getChild(`div[title="${name}"] span`);
|
|
1063
|
-
this.getColumnHeaderByName = (headerTitle) => this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value', { hasText: headerTitle });
|
|
1064
973
|
}
|
|
974
|
+
pagination = new PaginationComponent(this.page);
|
|
975
|
+
body = this.getChild('.adf-datatable-body');
|
|
976
|
+
getEmptyFolderLocator = this.getChild('.adf-empty-folder');
|
|
977
|
+
getEmptyContentTitleLocator = this.getChild('adf-empty-content .adf-empty-content__title');
|
|
978
|
+
getEmptyContentSubTitleLocator = this.getChild('adf-empty-content .adf-empty-content__subtitle');
|
|
979
|
+
getSelectedRow = this.getChild('.adf-datatable-row.adf-is-selected');
|
|
980
|
+
sortedColumnHeader = this.getChild(`.adf-datatable__header--sorted-asc .adf-datatable-cell-header-content .adf-datatable-cell-value,
|
|
981
|
+
.adf-datatable__header--sorted-desc .adf-datatable-cell-header-content .adf-datatable-cell-value`);
|
|
982
|
+
columnHeaders = this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value');
|
|
983
|
+
emptyList = this.getChild('div.adf-no-content-container');
|
|
984
|
+
emptyListTitle = this.getChild('.adf-empty-content__title');
|
|
985
|
+
emptyListSubtitle = this.getChild('.adf-empty-content__subtitle');
|
|
986
|
+
emptySearchText = this.getChild('.empty-search__text');
|
|
987
|
+
emptyListTest = this.getChild('adf-custom-empty-content-template');
|
|
988
|
+
paginationButton = this.page.locator('.adf-pagination__block button').nth(0);
|
|
989
|
+
paginationOptions = this.page.locator('#cdk-overlay-0 button');
|
|
990
|
+
sitesVisibility = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Visibility"]');
|
|
991
|
+
sitesName = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Name"]');
|
|
992
|
+
sitesRole = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="My Role"]');
|
|
993
|
+
lockOwner = this.page.locator('.aca-locked-by--name');
|
|
994
|
+
uncheckedCheckbox = this.page.locator('.mat-mdc-checkbox');
|
|
995
|
+
checkedCheckbox = this.page.locator('.mat-mdc-checkbox-checked');
|
|
996
|
+
highlightedText = '.aca-highlight';
|
|
997
|
+
searchFileName = '.search-file-name';
|
|
998
|
+
searchFileDescription = '[data-automation-id="search-results-entry-description"]';
|
|
999
|
+
searchFileContent = '.aca-result-content';
|
|
1000
|
+
/** Locator for row (or rows) */
|
|
1001
|
+
getRowLocator = this.page.getByRole('rowgroup').nth(1).locator('adf-datatable-row');
|
|
1002
|
+
/** Locator to get "No results found" message */
|
|
1003
|
+
getNoResultsFoundMessage = this.getChild('adf-custom-empty-content-template', { hasText: 'No results found' });
|
|
1004
|
+
/**
|
|
1005
|
+
* Method used in cases where we want to check that some record is visible in the datatable. It will consider whole row
|
|
1006
|
+
*
|
|
1007
|
+
* @returns reference to cell element which contains text.
|
|
1008
|
+
*/
|
|
1009
|
+
getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
1010
|
+
/**
|
|
1011
|
+
* Method used in cases where we want to check that some record is visible in the datatable.
|
|
1012
|
+
* But we want to check it by column header title and value of this column.
|
|
1013
|
+
*
|
|
1014
|
+
* @returns reference to cell element which contains text.
|
|
1015
|
+
*/
|
|
1016
|
+
getRowByColumnTitleAndItsCellValue = (columnTitle, cellValue) => this.page.locator(`//div[contains(@title, '${columnTitle}')]//span[contains(text(), '${cellValue}')]/ancestor::adf-datatable-row`);
|
|
1017
|
+
/**
|
|
1018
|
+
* Method used in cases where we want to retrieve a row from the datatable based on its numerical order within the array.
|
|
1019
|
+
*
|
|
1020
|
+
* @returns reference to cell element which contains text.
|
|
1021
|
+
*/
|
|
1022
|
+
getNthRow = (orderNum) => this.getRowLocator.nth(orderNum);
|
|
1023
|
+
/**
|
|
1024
|
+
* Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
|
|
1025
|
+
* Perform action .click() to navigate inside it
|
|
1026
|
+
*
|
|
1027
|
+
* @returns reference to cell element which contains link.
|
|
1028
|
+
*/
|
|
1029
|
+
getCellLinkByName = (name) => this.getChild('.adf-cell-value span[role="link"]', { hasText: name });
|
|
1030
|
+
/**
|
|
1031
|
+
* Method used in cases where we want to localize the element by [aria-label]
|
|
1032
|
+
*
|
|
1033
|
+
* @returns reference to cell element.
|
|
1034
|
+
*/
|
|
1035
|
+
getByAriaLabelTitle = (title) => this.getChild(`[aria-label="${title}"]`);
|
|
1036
|
+
/**
|
|
1037
|
+
* Method used in cases where we want to get the button (hamburger menu) for row element
|
|
1038
|
+
*
|
|
1039
|
+
* @returns reference to menu placed in row localized by the name
|
|
1040
|
+
*/
|
|
1041
|
+
getActionsButtonByName = (name) => this.getRowByName(name).locator('mat-icon', { hasText: new RegExp(`^\\s*more_vert\\s*$`, 'g') });
|
|
1042
|
+
/**
|
|
1043
|
+
* Method used in cases where we want to get the edit button and there is no hamburger menu
|
|
1044
|
+
*
|
|
1045
|
+
* @returns reference to edit button placed in row localized by the name
|
|
1046
|
+
*/
|
|
1047
|
+
getEditButtonByName = (name) => this.getRowByName(name).locator('button#editButton');
|
|
1048
|
+
/**
|
|
1049
|
+
* Method used in cases where we want to get the button and there is no hamburger menu
|
|
1050
|
+
*
|
|
1051
|
+
* @returns reference to button placed in row localized by the name
|
|
1052
|
+
*/
|
|
1053
|
+
getButtonByNameForSpecificRow = (elementTitleInRow, buttonTitle) => this.getRowByName(elementTitleInRow).locator('button', { hasText: buttonTitle });
|
|
1054
|
+
/**
|
|
1055
|
+
* Method used in cases where you want to get some specific cell (by column name) for row which contains some name/title/etc.
|
|
1056
|
+
*
|
|
1057
|
+
* @returns reference to cell element
|
|
1058
|
+
*/
|
|
1059
|
+
getCellByColumnNameAndRowItem = (item, columnName) => this.getRowByName(item).locator(`[title="${columnName}"]`);
|
|
1060
|
+
/**
|
|
1061
|
+
* Method used in cases where we want to get the checkbox for row element
|
|
1062
|
+
*
|
|
1063
|
+
* @returns reference to checkbox placed in row localized by the name
|
|
1064
|
+
*/
|
|
1065
|
+
getCheckboxForElement = (item) => this.getRowByName(item).locator('.mat-mdc-checkbox');
|
|
1066
|
+
getColumnHeaderByTitleLocator = (headerTitle) => this.getChild('[role="columnheader"]', { hasText: headerTitle });
|
|
1067
|
+
getSearchResultLinkByName = (name) => this.getChild('.aca-search-results-row span[role="link"]', { hasText: name });
|
|
1068
|
+
getColumnValuesByName = (name) => this.getChild(`div[title="${name}"] span`);
|
|
1069
|
+
getColumnHeaderByName = (headerTitle) => this.getChild('.adf-datatable-row .adf-datatable-cell-header .adf-datatable-cell-value', { hasText: headerTitle });
|
|
1065
1070
|
async sortBy(label, order) {
|
|
1066
1071
|
const sortColumn = await this.getSortedColumnHeaderText();
|
|
1067
1072
|
let sortOrder = await this.getSortingOrder();
|
|
1068
1073
|
if (sortColumn !== label) {
|
|
1074
|
+
await this.getColumnHeaderByName(label).hover();
|
|
1069
1075
|
await this.getColumnHeaderByName(label).click({ force: true });
|
|
1070
1076
|
sortOrder = await this.getSortingOrder();
|
|
1071
1077
|
}
|
|
@@ -1273,7 +1279,6 @@ class DataTableComponent extends BaseComponent {
|
|
|
1273
1279
|
}
|
|
1274
1280
|
}
|
|
1275
1281
|
}
|
|
1276
|
-
DataTableComponent.rootElement = 'adf-datatable';
|
|
1277
1282
|
|
|
1278
1283
|
/*!
|
|
1279
1284
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1299,10 +1304,11 @@ DataTableComponent.rootElement = 'adf-datatable';
|
|
|
1299
1304
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1300
1305
|
*/
|
|
1301
1306
|
class ToolbarComponent extends BaseComponent {
|
|
1307
|
+
static rootElement = 'adf-toolbar';
|
|
1308
|
+
createRuleButton = this.getChild('[data-automation-id="manage-rules-create-button"]');
|
|
1309
|
+
linkRulesButton = this.getChild('[data-automation-id="manage-rules-link-button"]');
|
|
1302
1310
|
constructor(page) {
|
|
1303
1311
|
super(page, ToolbarComponent.rootElement);
|
|
1304
|
-
this.createRuleButton = this.getChild('[data-automation-id="manage-rules-create-button"]');
|
|
1305
|
-
this.linkRulesButton = this.getChild('[data-automation-id="manage-rules-link-button"]');
|
|
1306
1312
|
}
|
|
1307
1313
|
async clickCreateRuleButton() {
|
|
1308
1314
|
await this.createRuleButton.click();
|
|
@@ -1311,7 +1317,6 @@ class ToolbarComponent extends BaseComponent {
|
|
|
1311
1317
|
await this.linkRulesButton.click();
|
|
1312
1318
|
}
|
|
1313
1319
|
}
|
|
1314
|
-
ToolbarComponent.rootElement = 'adf-toolbar';
|
|
1315
1320
|
|
|
1316
1321
|
/*!
|
|
1317
1322
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1361,17 +1366,18 @@ ToolbarComponent.rootElement = 'adf-toolbar';
|
|
|
1361
1366
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1362
1367
|
*/
|
|
1363
1368
|
class AdfFolderDialogComponent extends BaseComponent {
|
|
1369
|
+
static rootElement = 'adf-folder-dialog';
|
|
1370
|
+
folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]');
|
|
1371
|
+
folderNameInputHint = this.getChild('mat-hint');
|
|
1372
|
+
folderTitleInput = this.getChild('[id="adf-folder-title-input"]');
|
|
1373
|
+
folderDescriptionInput = this.getChild('[id="adf-folder-description-input"]');
|
|
1374
|
+
createButton = this.getChild('[id="adf-folder-create-button"]');
|
|
1375
|
+
cancelButton = this.getChild('[id="adf-folder-cancel-button"]');
|
|
1364
1376
|
constructor(page) {
|
|
1365
1377
|
super(page, AdfFolderDialogComponent.rootElement);
|
|
1366
|
-
this.folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]');
|
|
1367
|
-
this.folderNameInputHint = this.getChild('mat-hint');
|
|
1368
|
-
this.folderTitleInput = this.getChild('[id="adf-folder-title-input"]');
|
|
1369
|
-
this.folderDescriptionInput = this.getChild('[id="adf-folder-description-input"]');
|
|
1370
|
-
this.createButton = this.getChild('[id="adf-folder-create-button"]');
|
|
1371
|
-
this.cancelButton = this.getChild('[id="adf-folder-cancel-button"]');
|
|
1372
|
-
this.getLabelText = (text) => this.getChild('label', { hasText: text });
|
|
1373
|
-
this.getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
|
|
1374
1378
|
}
|
|
1379
|
+
getLabelText = (text) => this.getChild('label', { hasText: text });
|
|
1380
|
+
getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
|
|
1375
1381
|
/**
|
|
1376
1382
|
* This method is used when we want to fill in Create new Folder Dialog and choose Create button
|
|
1377
1383
|
*
|
|
@@ -1390,7 +1396,6 @@ class AdfFolderDialogComponent extends BaseComponent {
|
|
|
1390
1396
|
await this.createButton.click();
|
|
1391
1397
|
}
|
|
1392
1398
|
}
|
|
1393
|
-
AdfFolderDialogComponent.rootElement = 'adf-folder-dialog';
|
|
1394
1399
|
|
|
1395
1400
|
/*!
|
|
1396
1401
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1416,15 +1421,16 @@ AdfFolderDialogComponent.rootElement = 'adf-folder-dialog';
|
|
|
1416
1421
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1417
1422
|
*/
|
|
1418
1423
|
class AdfLibraryDialogComponent extends BaseComponent {
|
|
1424
|
+
static rootElement = 'adf-library-dialog';
|
|
1425
|
+
createButton = this.getChild('[data-automation-id="create-library-id"]');
|
|
1426
|
+
cancelButton = this.getChild('[data-automation-id="cancel-library-id"]');
|
|
1419
1427
|
constructor(page) {
|
|
1420
1428
|
super(page, AdfLibraryDialogComponent.rootElement);
|
|
1421
|
-
this.createButton = this.getChild('[data-automation-id="create-library-id"]');
|
|
1422
|
-
this.cancelButton = this.getChild('[data-automation-id="cancel-library-id"]');
|
|
1423
|
-
this.getLabelText = (text) => this.getChild('label', { hasText: text });
|
|
1424
|
-
this.getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
|
|
1425
|
-
this.getDialogTitle = (text) => this.getChild('.mat-mdc-dialog-title', { hasText: text });
|
|
1426
|
-
this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1427
1429
|
}
|
|
1430
|
+
getLabelText = (text) => this.getChild('label', { hasText: text });
|
|
1431
|
+
getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
|
|
1432
|
+
getDialogTitle = (text) => this.getChild('.mat-mdc-dialog-title', { hasText: text });
|
|
1433
|
+
getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1428
1434
|
/**
|
|
1429
1435
|
* This method is used when we want to fill in Create Library Dialog and choose Create button
|
|
1430
1436
|
*
|
|
@@ -1451,7 +1457,6 @@ class AdfLibraryDialogComponent extends BaseComponent {
|
|
|
1451
1457
|
return this.getErrorByText(errorText).isVisible();
|
|
1452
1458
|
}
|
|
1453
1459
|
}
|
|
1454
|
-
AdfLibraryDialogComponent.rootElement = 'adf-library-dialog';
|
|
1455
1460
|
|
|
1456
1461
|
/*!
|
|
1457
1462
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1477,12 +1482,13 @@ AdfLibraryDialogComponent.rootElement = 'adf-library-dialog';
|
|
|
1477
1482
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1478
1483
|
*/
|
|
1479
1484
|
class PasswordOverlayDialogComponent extends BaseComponent {
|
|
1485
|
+
static rootElement = '.cdk-overlay-pane';
|
|
1486
|
+
closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
|
|
1487
|
+
submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
|
|
1488
|
+
passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
|
|
1489
|
+
errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
|
|
1480
1490
|
constructor(page, rootElement = PasswordOverlayDialogComponent.rootElement) {
|
|
1481
1491
|
super(page, rootElement);
|
|
1482
|
-
this.closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
|
|
1483
|
-
this.submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
|
|
1484
|
-
this.passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
|
|
1485
|
-
this.errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
|
|
1486
1492
|
}
|
|
1487
1493
|
async waitForDialogToOpen() {
|
|
1488
1494
|
await this.spinnerWaitForReload();
|
|
@@ -1519,7 +1525,6 @@ class PasswordOverlayDialogComponent extends BaseComponent {
|
|
|
1519
1525
|
await this.passwordInput.fill(password);
|
|
1520
1526
|
}
|
|
1521
1527
|
}
|
|
1522
|
-
PasswordOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
|
|
1523
1528
|
|
|
1524
1529
|
/*!
|
|
1525
1530
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1545,19 +1550,20 @@ PasswordOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
|
|
|
1545
1550
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1546
1551
|
*/
|
|
1547
1552
|
class ViewerOverlayDialogComponent extends BaseComponent {
|
|
1553
|
+
static rootElement = '.cdk-overlay-pane';
|
|
1554
|
+
closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
|
|
1555
|
+
submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
|
|
1556
|
+
passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
|
|
1557
|
+
errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
|
|
1558
|
+
copyDialog = this.getChild('[data-automation-id="content-node-selector-title"]');
|
|
1559
|
+
copyMenuButton = this.getChild('[id="app.viewer.copy"]');
|
|
1560
|
+
deleteMenuButton = this.getChild('[id="app.viewer.delete"]');
|
|
1561
|
+
favoriteMenuButton = this.getChild('[id="app.viewer.favorite.add"]');
|
|
1562
|
+
removeFavoriteMenuButton = this.getChild('[id="app.viewer.favorite.remove"]');
|
|
1563
|
+
shareDialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
|
|
1564
|
+
shareDialogClose = this.getChild('[data-automation-id="adf-share-dialog-close"]');
|
|
1548
1565
|
constructor(page, rootElement = ViewerOverlayDialogComponent.rootElement) {
|
|
1549
1566
|
super(page, rootElement);
|
|
1550
|
-
this.closeButton = this.getChild('[data-automation-id="adf-password-dialog-close"]');
|
|
1551
|
-
this.submitButton = this.getChild('[data-automation-id="adf-password-dialog-submit"]');
|
|
1552
|
-
this.passwordInput = this.getChild('[data-automation-id="adf-password-dialog-input"]');
|
|
1553
|
-
this.errorMessage = this.getChild('[data-automation-id="adf-password-dialog-error"]');
|
|
1554
|
-
this.copyDialog = this.getChild('[data-automation-id="content-node-selector-title"]');
|
|
1555
|
-
this.copyMenuButton = this.getChild('[id="app.viewer.copy"]');
|
|
1556
|
-
this.deleteMenuButton = this.getChild('[id="app.viewer.delete"]');
|
|
1557
|
-
this.favoriteMenuButton = this.getChild('[id="app.viewer.favorite.add"]');
|
|
1558
|
-
this.removeFavoriteMenuButton = this.getChild('[id="app.viewer.favorite.remove"]');
|
|
1559
|
-
this.shareDialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
|
|
1560
|
-
this.shareDialogClose = this.getChild('[data-automation-id="adf-share-dialog-close"]');
|
|
1561
1567
|
}
|
|
1562
1568
|
async isCopyDialogOpen() {
|
|
1563
1569
|
await this.copyDialog.waitFor({ state: 'attached', timeout: timeouts.medium });
|
|
@@ -1572,7 +1578,6 @@ class ViewerOverlayDialogComponent extends BaseComponent {
|
|
|
1572
1578
|
await this.copyMenuButton.click();
|
|
1573
1579
|
}
|
|
1574
1580
|
}
|
|
1575
|
-
ViewerOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
|
|
1576
1581
|
|
|
1577
1582
|
/*!
|
|
1578
1583
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1598,19 +1603,20 @@ ViewerOverlayDialogComponent.rootElement = '.cdk-overlay-pane';
|
|
|
1598
1603
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1599
1604
|
*/
|
|
1600
1605
|
class ContentNodeSelectorDialog extends BaseComponent {
|
|
1606
|
+
static rootElement = 'adf-content-node-selector';
|
|
1601
1607
|
constructor(page) {
|
|
1602
1608
|
super(page, ContentNodeSelectorDialog.rootElement);
|
|
1603
|
-
this.cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
|
|
1604
|
-
this.actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
|
|
1605
|
-
this.locationDropDown = this.getChild('[id="site-dropdown-container"] mat-form-field');
|
|
1606
|
-
this.selectedRow = this.getChild('.adf-is-selected');
|
|
1607
|
-
this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
|
|
1608
|
-
this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
1609
|
-
this.getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
|
|
1610
|
-
this.getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
|
|
1611
|
-
this.getFolderIcon = this.getChild('[data-automation-id="dropdown-breadcrumb-trigger"]');
|
|
1612
|
-
this.loadMoreButton = this.getChild('[data-automation-id="adf-infinite-pagination-button"]');
|
|
1613
1609
|
}
|
|
1610
|
+
cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
|
|
1611
|
+
actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
|
|
1612
|
+
locationDropDown = this.getChild('[id="site-dropdown-container"] mat-form-field');
|
|
1613
|
+
selectedRow = this.getChild('.adf-is-selected');
|
|
1614
|
+
getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
|
|
1615
|
+
getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
1616
|
+
getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
|
|
1617
|
+
getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
|
|
1618
|
+
getFolderIcon = this.getChild('[data-automation-id="dropdown-breadcrumb-trigger"]');
|
|
1619
|
+
loadMoreButton = this.getChild('[data-automation-id="adf-infinite-pagination-button"]');
|
|
1614
1620
|
async loadMoreNodes() {
|
|
1615
1621
|
await this.spinnerWaitForReload();
|
|
1616
1622
|
while (await this.loadMoreButton.isVisible()) {
|
|
@@ -1637,7 +1643,6 @@ class ContentNodeSelectorDialog extends BaseComponent {
|
|
|
1637
1643
|
});
|
|
1638
1644
|
}
|
|
1639
1645
|
}
|
|
1640
|
-
ContentNodeSelectorDialog.rootElement = 'adf-content-node-selector';
|
|
1641
1646
|
|
|
1642
1647
|
/*!
|
|
1643
1648
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1663,14 +1668,15 @@ ContentNodeSelectorDialog.rootElement = 'adf-content-node-selector';
|
|
|
1663
1668
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1664
1669
|
*/
|
|
1665
1670
|
class CreateFromTemplateDialogComponent extends BaseComponent {
|
|
1671
|
+
static rootElement = 'app-create-from-template-dialog';
|
|
1666
1672
|
constructor(page) {
|
|
1667
1673
|
super(page, CreateFromTemplateDialogComponent.rootElement);
|
|
1668
|
-
this.cancelButton = this.getChild('[data-automation-id="create-from-template-dialog-cancel-button"]');
|
|
1669
|
-
this.createButton = this.getChild('[data-automation-id="create-from-template-dialog-create-button"]');
|
|
1670
|
-
this.getDialogTitle = (text) => this.getChild('.mat-dialog-title', { hasText: text });
|
|
1671
|
-
this.getDialogLabel = (text) => this.getChild('label', { hasText: text });
|
|
1672
|
-
this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1673
1674
|
}
|
|
1675
|
+
cancelButton = this.getChild('[data-automation-id="create-from-template-dialog-cancel-button"]');
|
|
1676
|
+
createButton = this.getChild('[data-automation-id="create-from-template-dialog-create-button"]');
|
|
1677
|
+
getDialogTitle = (text) => this.getChild('.mat-dialog-title', { hasText: text });
|
|
1678
|
+
getDialogLabel = (text) => this.getChild('label', { hasText: text });
|
|
1679
|
+
getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1674
1680
|
async isErrorMessageDisplayed(errorText) {
|
|
1675
1681
|
await this.getErrorByText(errorText).waitFor({ state: 'visible', timeout: timeouts.large });
|
|
1676
1682
|
return this.getErrorByText(errorText).isVisible();
|
|
@@ -1689,7 +1695,6 @@ class CreateFromTemplateDialogComponent extends BaseComponent {
|
|
|
1689
1695
|
await this.createButton.click();
|
|
1690
1696
|
}
|
|
1691
1697
|
}
|
|
1692
|
-
CreateFromTemplateDialogComponent.rootElement = 'app-create-from-template-dialog';
|
|
1693
1698
|
|
|
1694
1699
|
/*!
|
|
1695
1700
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1715,15 +1720,15 @@ CreateFromTemplateDialogComponent.rootElement = 'app-create-from-template-dialog
|
|
|
1715
1720
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1716
1721
|
*/
|
|
1717
1722
|
class AdfConfirmDialogComponent extends BaseComponent {
|
|
1723
|
+
static rootElement = 'adf-confirm-dialog';
|
|
1718
1724
|
constructor(page) {
|
|
1719
1725
|
super(page, AdfConfirmDialogComponent.rootElement);
|
|
1720
|
-
this.getDialogTitle = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-title"]', { hasText: text });
|
|
1721
|
-
this.getDialogContent = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]', { hasText: text });
|
|
1722
|
-
this.okButton = this.getChild('[data-automation-id="adf-confirm-dialog-confirmation"]');
|
|
1723
|
-
this.cancelButton = this.getChild('[data-automation-id="adf-confirm-dialog-reject"]');
|
|
1724
1726
|
}
|
|
1727
|
+
getDialogTitle = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-title"]', { hasText: text });
|
|
1728
|
+
getDialogContent = (text) => this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]', { hasText: text });
|
|
1729
|
+
okButton = this.getChild('[data-automation-id="adf-confirm-dialog-confirmation"]');
|
|
1730
|
+
cancelButton = this.getChild('[data-automation-id="adf-confirm-dialog-reject"]');
|
|
1725
1731
|
}
|
|
1726
|
-
AdfConfirmDialogComponent.rootElement = 'adf-confirm-dialog';
|
|
1727
1732
|
|
|
1728
1733
|
/*!
|
|
1729
1734
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1749,12 +1754,13 @@ AdfConfirmDialogComponent.rootElement = 'adf-confirm-dialog';
|
|
|
1749
1754
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1750
1755
|
*/
|
|
1751
1756
|
class DateTimePicker extends BaseComponent {
|
|
1757
|
+
static rootElement = '.mat-calendar';
|
|
1758
|
+
calendar = this.getChild('.mat-datepicker-popup');
|
|
1759
|
+
dayPicker = this.getChild('mat-month-view');
|
|
1760
|
+
nextMonthBtn = this.getChild('.mat-calendar-next-button');
|
|
1761
|
+
rootElemLocator = this.page.locator('.mat-datepicker-popup');
|
|
1752
1762
|
constructor(page) {
|
|
1753
1763
|
super(page, DateTimePicker.rootElement);
|
|
1754
|
-
this.calendar = this.getChild('.mat-datepicker-popup');
|
|
1755
|
-
this.dayPicker = this.getChild('mat-month-view');
|
|
1756
|
-
this.nextMonthBtn = this.getChild('.mat-calendar-next-button');
|
|
1757
|
-
this.rootElemLocator = this.page.locator('.mat-datepicker-popup');
|
|
1758
1764
|
}
|
|
1759
1765
|
async isCalendarOpen() {
|
|
1760
1766
|
const element = this.rootElemLocator;
|
|
@@ -1774,7 +1780,6 @@ class DateTimePicker extends BaseComponent {
|
|
|
1774
1780
|
await firstActiveDayElem.click();
|
|
1775
1781
|
}
|
|
1776
1782
|
}
|
|
1777
|
-
DateTimePicker.rootElement = '.mat-calendar';
|
|
1778
1783
|
|
|
1779
1784
|
/*!
|
|
1780
1785
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1800,22 +1805,23 @@ DateTimePicker.rootElement = '.mat-calendar';
|
|
|
1800
1805
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1801
1806
|
*/
|
|
1802
1807
|
class ShareDialogComponent extends BaseComponent {
|
|
1808
|
+
static rootElement = 'adf-share-dialog';
|
|
1803
1809
|
constructor(page) {
|
|
1804
1810
|
super(page, ShareDialogComponent.rootElement);
|
|
1805
|
-
this.closeButton = this.getChild('[data-automation-id="adf-share-dialog-close"]');
|
|
1806
|
-
this.dialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
|
|
1807
|
-
this.infoText = this.getChild('.adf-share-link__info').first();
|
|
1808
|
-
this.labels = '.adf-share-link__label';
|
|
1809
|
-
this.shareToggle = this.getChild(`[data-automation-id='adf-share-toggle']`);
|
|
1810
|
-
this.url = this.getChild(`[data-automation-id='adf-share-link']`);
|
|
1811
|
-
this.urlAction = this.getChild('.adf-input-action');
|
|
1812
|
-
this.expireToggle = this.getChild(`[data-automation-id='adf-expire-toggle']`);
|
|
1813
|
-
this.expireInput = this.getChild('input[formcontrolname="time"]');
|
|
1814
|
-
this.datetimePickerButton = this.getChild('.mat-datepicker-toggle');
|
|
1815
|
-
this.dateTimePicker = new DateTimePicker(this.page);
|
|
1816
|
-
this.getDialogLabel = () => this.getChild('label').innerText();
|
|
1817
|
-
this.getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1818
1811
|
}
|
|
1812
|
+
closeButton = this.getChild('[data-automation-id="adf-share-dialog-close"]');
|
|
1813
|
+
dialogTitle = this.getChild('[data-automation-id="adf-share-dialog-title"]');
|
|
1814
|
+
infoText = this.getChild('.adf-share-link__info').first();
|
|
1815
|
+
labels = '.adf-share-link__label';
|
|
1816
|
+
shareToggle = this.getChild(`[data-automation-id='adf-share-toggle']`);
|
|
1817
|
+
url = this.getChild(`[data-automation-id='adf-share-link']`);
|
|
1818
|
+
urlAction = this.getChild('.adf-input-action');
|
|
1819
|
+
expireToggle = this.getChild(`[data-automation-id='adf-expire-toggle']`);
|
|
1820
|
+
expireInput = this.getChild('input[formcontrolname="time"]');
|
|
1821
|
+
datetimePickerButton = this.getChild('.mat-datepicker-toggle');
|
|
1822
|
+
dateTimePicker = new DateTimePicker(this.page);
|
|
1823
|
+
getDialogLabel = () => this.getChild('label').innerText();
|
|
1824
|
+
getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
|
|
1819
1825
|
async getLabels() {
|
|
1820
1826
|
return this.page.$$eval('.adf-share-link__label', (elements) => elements.map((element) => element.textContent));
|
|
1821
1827
|
}
|
|
@@ -1855,7 +1861,6 @@ class ShareDialogComponent extends BaseComponent {
|
|
|
1855
1861
|
return this.expireInput.inputValue();
|
|
1856
1862
|
}
|
|
1857
1863
|
}
|
|
1858
|
-
ShareDialogComponent.rootElement = 'adf-share-dialog';
|
|
1859
1864
|
|
|
1860
1865
|
/*!
|
|
1861
1866
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1881,17 +1886,17 @@ ShareDialogComponent.rootElement = 'adf-share-dialog';
|
|
|
1881
1886
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1882
1887
|
*/
|
|
1883
1888
|
class UploadNewVersionDialog extends BaseComponent {
|
|
1889
|
+
static rootElement = 'adf-new-version-uploader-dialog';
|
|
1890
|
+
cancelButton = this.getChild('#adf-new-version-cancel');
|
|
1891
|
+
uploadButton = this.getChild('[data-automation-id="adf-new-version-file-upload"]');
|
|
1892
|
+
majorOption = this.getChild('#adf-new-version-major');
|
|
1893
|
+
minorOption = this.getChild('#adf-new-version-minor');
|
|
1894
|
+
description = this.getChild('#adf-new-version-text-area');
|
|
1895
|
+
title = this.getChild(' [data-automation-id="new-version-uploader-dialog-title"]');
|
|
1884
1896
|
constructor(page) {
|
|
1885
1897
|
super(page, UploadNewVersionDialog.rootElement);
|
|
1886
|
-
this.cancelButton = this.getChild('#adf-new-version-cancel');
|
|
1887
|
-
this.uploadButton = this.getChild('[data-automation-id="adf-new-version-file-upload"]');
|
|
1888
|
-
this.majorOption = this.getChild('#adf-new-version-major');
|
|
1889
|
-
this.minorOption = this.getChild('#adf-new-version-minor');
|
|
1890
|
-
this.description = this.getChild('#adf-new-version-text-area');
|
|
1891
|
-
this.title = this.getChild(' [data-automation-id="new-version-uploader-dialog-title"]');
|
|
1892
1898
|
}
|
|
1893
1899
|
}
|
|
1894
|
-
UploadNewVersionDialog.rootElement = 'adf-new-version-uploader-dialog';
|
|
1895
1900
|
|
|
1896
1901
|
/*!
|
|
1897
1902
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1917,6 +1922,7 @@ UploadNewVersionDialog.rootElement = 'adf-new-version-uploader-dialog';
|
|
|
1917
1922
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1918
1923
|
*/
|
|
1919
1924
|
class ManageVersionsDialog extends BaseComponent {
|
|
1925
|
+
static rootElement = '.adf-new-version-uploader-dialog';
|
|
1920
1926
|
async viewFileVersion(version) {
|
|
1921
1927
|
const versionActionsButton = this.page.locator(`[id="adf-version-list-action-menu-button-${version}"]`);
|
|
1922
1928
|
await versionActionsButton.click();
|
|
@@ -1925,7 +1931,6 @@ class ManageVersionsDialog extends BaseComponent {
|
|
|
1925
1931
|
super(page, ManageVersionsDialog.rootElement);
|
|
1926
1932
|
}
|
|
1927
1933
|
}
|
|
1928
|
-
ManageVersionsDialog.rootElement = '.adf-new-version-uploader-dialog';
|
|
1929
1934
|
|
|
1930
1935
|
/*!
|
|
1931
1936
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1951,15 +1956,15 @@ ManageVersionsDialog.rootElement = '.adf-new-version-uploader-dialog';
|
|
|
1951
1956
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1952
1957
|
*/
|
|
1953
1958
|
class UploadDialog extends BaseComponent {
|
|
1959
|
+
static rootElement = '.adf-upload-dialog';
|
|
1960
|
+
uploadDialog = this.page.locator('.adf-upload-dialog');
|
|
1961
|
+
closeButton = this.getChild('#adf-upload-dialog-close');
|
|
1962
|
+
minimizeButton = this.page.locator('[data-automation-id="adf-upload-dialog__toggle-minimize"]');
|
|
1963
|
+
uploadDialogMinimized = this.page.locator('.adf-upload-dialog--minimized');
|
|
1954
1964
|
constructor(page) {
|
|
1955
1965
|
super(page, UploadDialog.rootElement);
|
|
1956
|
-
this.uploadDialog = this.page.locator('.adf-upload-dialog');
|
|
1957
|
-
this.closeButton = this.getChild('#adf-upload-dialog-close');
|
|
1958
|
-
this.minimizeButton = this.page.locator('[data-automation-id="adf-upload-dialog__toggle-minimize"]');
|
|
1959
|
-
this.uploadDialogMinimized = this.page.locator('.adf-upload-dialog--minimized');
|
|
1960
1966
|
}
|
|
1961
1967
|
}
|
|
1962
|
-
UploadDialog.rootElement = '.adf-upload-dialog';
|
|
1963
1968
|
|
|
1964
1969
|
/*!
|
|
1965
1970
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -1985,13 +1990,14 @@ UploadDialog.rootElement = '.adf-upload-dialog';
|
|
|
1985
1990
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
1986
1991
|
*/
|
|
1987
1992
|
class AdfDeleteTrashComponent extends BaseComponent {
|
|
1993
|
+
static rootElement = 'adf-confirm-dialog';
|
|
1988
1994
|
constructor(page) {
|
|
1989
1995
|
super(page, AdfDeleteTrashComponent.rootElement);
|
|
1990
|
-
this.dialogTitle = this.getChild('[data-automation-id="adf-confirm-dialog-title"]');
|
|
1991
|
-
this.dialogDescription = this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]');
|
|
1992
|
-
this.deleteButton = this.getChild('[id="adf-confirm-accept"]');
|
|
1993
|
-
this.keepButton = this.getChild('[id="adf-confirm-cancel"]');
|
|
1994
1996
|
}
|
|
1997
|
+
dialogTitle = this.getChild('[data-automation-id="adf-confirm-dialog-title"]');
|
|
1998
|
+
dialogDescription = this.getChild('[data-automation-id="adf-confirm-dialog-base-message"]');
|
|
1999
|
+
deleteButton = this.getChild('[id="adf-confirm-accept"]');
|
|
2000
|
+
keepButton = this.getChild('[id="adf-confirm-cancel"]');
|
|
1995
2001
|
async waitForDialog() {
|
|
1996
2002
|
await this.dialogTitle.waitFor();
|
|
1997
2003
|
}
|
|
@@ -2011,7 +2017,6 @@ class AdfDeleteTrashComponent extends BaseComponent {
|
|
|
2011
2017
|
return this.keepButton.isEnabled();
|
|
2012
2018
|
}
|
|
2013
2019
|
}
|
|
2014
|
-
AdfDeleteTrashComponent.rootElement = 'adf-confirm-dialog';
|
|
2015
2020
|
|
|
2016
2021
|
/*!
|
|
2017
2022
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2037,18 +2042,19 @@ AdfDeleteTrashComponent.rootElement = 'adf-confirm-dialog';
|
|
|
2037
2042
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2038
2043
|
*/
|
|
2039
2044
|
class LinkRulesDialog extends BaseComponent {
|
|
2045
|
+
static rootElement = 'aca-rule-set-picker';
|
|
2040
2046
|
constructor(page) {
|
|
2041
2047
|
super(page, LinkRulesDialog.rootElement);
|
|
2042
|
-
this.cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
|
|
2043
|
-
this.selectFolderButton = this.getChild('button', { hasText: ' Select folder ' });
|
|
2044
|
-
this.emptyLinkRules = this.getChild('.adf-empty-content__title');
|
|
2045
|
-
this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
|
|
2046
|
-
this.getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
2047
|
-
this.getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
|
|
2048
|
-
this.getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
|
|
2049
|
-
this.getFolderIcon = this.getChild('.adf-dropdown-breadcrumb-icon', { hasText: 'folder' });
|
|
2050
|
-
this.getLibraryIcon = this.getChild('.adf-empty-content__icon', { hasText: 'library_books' });
|
|
2051
2048
|
}
|
|
2049
|
+
cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
|
|
2050
|
+
selectFolderButton = this.getChild('button', { hasText: ' Select folder ' });
|
|
2051
|
+
emptyLinkRules = this.getChild('.adf-empty-content__title');
|
|
2052
|
+
getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
|
|
2053
|
+
getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
|
|
2054
|
+
getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
|
|
2055
|
+
getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
|
|
2056
|
+
getFolderIcon = this.getChild('.adf-dropdown-breadcrumb-icon', { hasText: 'folder' });
|
|
2057
|
+
getLibraryIcon = this.getChild('.adf-empty-content__icon', { hasText: 'library_books' });
|
|
2052
2058
|
async selectDestination(folderName) {
|
|
2053
2059
|
const row = this.getRowByName(folderName);
|
|
2054
2060
|
await expect(row).toBeVisible();
|
|
@@ -2066,7 +2072,6 @@ class LinkRulesDialog extends BaseComponent {
|
|
|
2066
2072
|
await this.getLibraryIcon.waitFor();
|
|
2067
2073
|
}
|
|
2068
2074
|
}
|
|
2069
|
-
LinkRulesDialog.rootElement = 'aca-rule-set-picker';
|
|
2070
2075
|
|
|
2071
2076
|
/*!
|
|
2072
2077
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2092,18 +2097,18 @@ LinkRulesDialog.rootElement = 'aca-rule-set-picker';
|
|
|
2092
2097
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2093
2098
|
*/
|
|
2094
2099
|
class EditDialog extends BaseComponent {
|
|
2100
|
+
static rootElement = 'mat-dialog-container';
|
|
2101
|
+
editDialog = this.getChild('');
|
|
2102
|
+
titleInput = this.getChild('[data-automation-id="adf-folder-dialog-title"]');
|
|
2103
|
+
cancelButton = this.getChild('#adf-folder-cancel-button');
|
|
2104
|
+
updateButton = this.getChild('#adf-folder-create-button');
|
|
2105
|
+
descriptionInput = this.getChild('#adf-folder-description-input');
|
|
2106
|
+
nameInput = this.getChild('#adf-folder-name-input');
|
|
2107
|
+
fieldHint = this.getChild('mat-hint');
|
|
2095
2108
|
constructor(page) {
|
|
2096
2109
|
super(page, EditDialog.rootElement);
|
|
2097
|
-
this.editDialog = this.getChild('');
|
|
2098
|
-
this.titleInput = this.getChild('[data-automation-id="adf-folder-dialog-title"]');
|
|
2099
|
-
this.cancelButton = this.getChild('#adf-folder-cancel-button');
|
|
2100
|
-
this.updateButton = this.getChild('#adf-folder-create-button');
|
|
2101
|
-
this.descriptionInput = this.getChild('#adf-folder-description-input');
|
|
2102
|
-
this.nameInput = this.getChild('#adf-folder-name-input');
|
|
2103
|
-
this.fieldHint = this.getChild('mat-hint');
|
|
2104
2110
|
}
|
|
2105
2111
|
}
|
|
2106
|
-
EditDialog.rootElement = 'mat-dialog-container';
|
|
2107
2112
|
|
|
2108
2113
|
/*!
|
|
2109
2114
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2153,28 +2158,29 @@ EditDialog.rootElement = 'mat-dialog-container';
|
|
|
2153
2158
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2154
2159
|
*/
|
|
2155
2160
|
class ManageRulesDialogComponent extends BaseComponent {
|
|
2161
|
+
static rootElement = 'aca-edit-rule-dialog';
|
|
2162
|
+
createRuleButton = this.getChild('[data-automation-id="edit-rule-dialog-submit"]');
|
|
2163
|
+
cancelRuleButton = this.getChild('.aca-edit-rule-dialog__footer button').filter({ hasText: 'Cancel' });
|
|
2164
|
+
ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]');
|
|
2165
|
+
ruleDescriptionInputLocator = this.getChild('[id="rule-details-description-textarea"]');
|
|
2166
|
+
addConditionButton = this.getChild('[data-automation-id="add-condition-button"]');
|
|
2167
|
+
addConditionGroupButton = this.getChild('[data-automation-id="add-group-button"]');
|
|
2168
|
+
fieldDropDown = this.getChild('[data-automation-id="field-select"]');
|
|
2169
|
+
comparatorDropDown = this.getChild('[data-automation-id="comparator-select"]');
|
|
2170
|
+
valueField = this.getChild('[data-automation-id="value-input"]');
|
|
2171
|
+
whenCreatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-inbound"]');
|
|
2172
|
+
whenUpdatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-update"]');
|
|
2173
|
+
whenDeletedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-outbound"]');
|
|
2174
|
+
destinationFolderButton = this.getChild('[data-automation-id="card-textitem-clickable-icon-destination-folder"]');
|
|
2175
|
+
ruleInBackgroundCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-asynchronous"]');
|
|
2176
|
+
ruleSubfoldersCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-inheritable"]');
|
|
2177
|
+
ruleDisableCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-disabled"] input');
|
|
2178
|
+
actionsEllipsisButtons = this.getChild('[data-automation-id="rule-action-list-action-menu"]');
|
|
2179
|
+
actionsEllipsisDelete = this.page.locator('[data-automation-id="rule-action-list-remove-action-button"]');
|
|
2180
|
+
conditionsEllipsisButtons = this.getChild('[data-automation-id="condition-actions-button"]');
|
|
2181
|
+
conditionsEllipsisDelete = this.page.locator('button[title="Remove"]');
|
|
2156
2182
|
constructor(page) {
|
|
2157
2183
|
super(page, ManageRulesDialogComponent.rootElement);
|
|
2158
|
-
this.createRuleButton = this.getChild('[data-automation-id="edit-rule-dialog-submit"]');
|
|
2159
|
-
this.cancelRuleButton = this.getChild('.aca-edit-rule-dialog__footer button').filter({ hasText: 'Cancel' });
|
|
2160
|
-
this.ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]');
|
|
2161
|
-
this.ruleDescriptionInputLocator = this.getChild('[id="rule-details-description-textarea"]');
|
|
2162
|
-
this.addConditionButton = this.getChild('[data-automation-id="add-condition-button"]');
|
|
2163
|
-
this.addConditionGroupButton = this.getChild('[data-automation-id="add-group-button"]');
|
|
2164
|
-
this.fieldDropDown = this.getChild('[data-automation-id="field-select"]');
|
|
2165
|
-
this.comparatorDropDown = this.getChild('[data-automation-id="comparator-select"]');
|
|
2166
|
-
this.valueField = this.getChild('[data-automation-id="value-input"]');
|
|
2167
|
-
this.whenCreatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-inbound"]');
|
|
2168
|
-
this.whenUpdatedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-update"]');
|
|
2169
|
-
this.whenDeletedCheckbox = this.getChild('[data-automation-id="rule-trigger-checkbox-outbound"]');
|
|
2170
|
-
this.destinationFolderButton = this.getChild('[data-automation-id="card-textitem-clickable-icon-destination-folder"]');
|
|
2171
|
-
this.ruleInBackgroundCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-asynchronous"]');
|
|
2172
|
-
this.ruleSubfoldersCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-inheritable"]');
|
|
2173
|
-
this.ruleDisableCheckbox = this.getChild('[data-automation-id="rule-option-checkbox-disabled"]');
|
|
2174
|
-
this.actionsEllipsisButtons = this.getChild('[data-automation-id="rule-action-list-action-menu"]');
|
|
2175
|
-
this.actionsEllipsisDelete = this.page.locator('[data-automation-id="rule-action-list-remove-action-button"]');
|
|
2176
|
-
this.conditionsEllipsisButtons = this.getChild('[data-automation-id="condition-actions-button"]');
|
|
2177
|
-
this.conditionsEllipsisDelete = this.page.locator('button[title="Remove"]');
|
|
2178
2184
|
}
|
|
2179
2185
|
async deleteActions(noActions) {
|
|
2180
2186
|
for (let i = 0; i < noActions; i++) {
|
|
@@ -2189,7 +2195,6 @@ class ManageRulesDialogComponent extends BaseComponent {
|
|
|
2189
2195
|
}
|
|
2190
2196
|
}
|
|
2191
2197
|
}
|
|
2192
|
-
ManageRulesDialogComponent.rootElement = 'aca-edit-rule-dialog';
|
|
2193
2198
|
|
|
2194
2199
|
/*!
|
|
2195
2200
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2215,20 +2220,21 @@ ManageRulesDialogComponent.rootElement = 'aca-edit-rule-dialog';
|
|
|
2215
2220
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2216
2221
|
*/
|
|
2217
2222
|
class ManageRules extends BaseComponent {
|
|
2223
|
+
static rootElement = '.aca-manage-rules';
|
|
2224
|
+
getGroupsList = (optionName) => this.getChild('.aca-rule-list-item__header', { hasText: optionName });
|
|
2225
|
+
ruleToggle = this.getChild('.aca-manage-rules__container .mdc-switch').first();
|
|
2226
|
+
ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item .mdc-switch--unselected').first();
|
|
2227
|
+
ruleDetailsTitle = this.getChild('.aca-manage-rules__container__rule-details__header__title__name');
|
|
2228
|
+
ruleDetailsDeleteButton = this.getChild('#delete-rule-btn');
|
|
2229
|
+
ruleDetailsEditButton = this.getChild('#edit-rule-btn');
|
|
2230
|
+
ruleDetailsWhenText = this.getChild('[data-automation-id="rule-details-triggers-component"]');
|
|
2231
|
+
ruleDetailsPerformActionsDiv = this.getChild('adf-card-view-textitem mat-form-field input');
|
|
2232
|
+
rulesEmptyListTitle = this.getChild('.adf-empty-content__title');
|
|
2233
|
+
ruleActions = this.getChild('aca-rule-action');
|
|
2234
|
+
ruleConditionsInGroup = this.getChild('aca-rule-composite-condition aca-rule-simple-condition');
|
|
2235
|
+
ruleDescription = this.getChild('.aca-manage-rules__container__rule-details__header__title__description');
|
|
2218
2236
|
constructor(page) {
|
|
2219
2237
|
super(page, ManageRules.rootElement);
|
|
2220
|
-
this.getGroupsList = (optionName) => this.getChild('.aca-rule-list-item__header', { hasText: optionName });
|
|
2221
|
-
this.ruleToggle = this.getChild('.aca-manage-rules__container .mdc-switch').first();
|
|
2222
|
-
this.ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item .mdc-switch--unselected').first();
|
|
2223
|
-
this.ruleDetailsTitle = this.getChild('.aca-manage-rules__container__rule-details__header__title__name');
|
|
2224
|
-
this.ruleDetailsDeleteButton = this.getChild('#delete-rule-btn');
|
|
2225
|
-
this.ruleDetailsEditButton = this.getChild('#edit-rule-btn');
|
|
2226
|
-
this.ruleDetailsWhenText = this.getChild('[data-automation-id="rule-details-triggers-component"]');
|
|
2227
|
-
this.ruleDetailsPerformActionsDiv = this.getChild('adf-card-view-textitem mat-form-field input');
|
|
2228
|
-
this.rulesEmptyListTitle = this.getChild('.adf-empty-content__title');
|
|
2229
|
-
this.ruleActions = this.getChild('aca-rule-action');
|
|
2230
|
-
this.ruleConditionsInGroup = this.getChild('aca-rule-composite-condition aca-rule-simple-condition');
|
|
2231
|
-
this.ruleDescription = this.getChild('.aca-manage-rules__container__rule-details__header__title__description');
|
|
2232
2238
|
}
|
|
2233
2239
|
async checkAspects(aspects) {
|
|
2234
2240
|
for (let i = 0; i < aspects.length; i++) {
|
|
@@ -2256,7 +2262,6 @@ class ManageRules extends BaseComponent {
|
|
|
2256
2262
|
});
|
|
2257
2263
|
}
|
|
2258
2264
|
}
|
|
2259
|
-
ManageRules.rootElement = '.aca-manage-rules';
|
|
2260
2265
|
|
|
2261
2266
|
/*!
|
|
2262
2267
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2306,6 +2311,7 @@ ManageRules.rootElement = '.aca-manage-rules';
|
|
|
2306
2311
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2307
2312
|
*/
|
|
2308
2313
|
class SpinnerComponent extends BaseComponent {
|
|
2314
|
+
static rootElement = 'mat-progress-spinner';
|
|
2309
2315
|
constructor(page, rootElement = SpinnerComponent.rootElement) {
|
|
2310
2316
|
super(page, rootElement);
|
|
2311
2317
|
}
|
|
@@ -2319,7 +2325,6 @@ class SpinnerComponent extends BaseComponent {
|
|
|
2319
2325
|
}
|
|
2320
2326
|
}
|
|
2321
2327
|
}
|
|
2322
|
-
SpinnerComponent.rootElement = 'mat-progress-spinner';
|
|
2323
2328
|
|
|
2324
2329
|
/*!
|
|
2325
2330
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2369,21 +2374,22 @@ var ActionType;
|
|
|
2369
2374
|
ActionType["TransformAndCopyImage"] = "Transform and copy image";
|
|
2370
2375
|
})(ActionType || (ActionType = {}));
|
|
2371
2376
|
class ActionsDropdownComponent extends BaseComponent {
|
|
2377
|
+
static rootElement = 'aca-edit-rule-dialog aca-rule-action-list';
|
|
2378
|
+
getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName }).first();
|
|
2379
|
+
ruleActionLocator = this.getChild('aca-rule-action');
|
|
2380
|
+
addActionButtonLocator = this.getChild('[data-automation-id="rule-action-list-add-action-button"]');
|
|
2381
|
+
actionDropdownLocator = this.getChild('[data-automation-id="rule-action-select"]');
|
|
2382
|
+
actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
|
|
2383
|
+
actionCheckInInputLocator = '[data-automation-id="header-description"] input';
|
|
2384
|
+
actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
|
|
2385
|
+
actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
|
|
2386
|
+
actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
|
|
2387
|
+
actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
|
|
2388
|
+
actionSimpleWorkflowLabelApproveLocator = `[data-automation-id="card-boolean-label-approve-move"]`;
|
|
2389
|
+
actionSimpleWorkflowSRejectStepLocator = '[data-automation-id="header-reject-step"] input';
|
|
2390
|
+
actionSimpleWorkflowRejectFolderLocator = `[data-automation-id="header-reject-folder"] input`;
|
|
2372
2391
|
constructor(page) {
|
|
2373
2392
|
super(page, ActionsDropdownComponent.rootElement);
|
|
2374
|
-
this.getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName }).first();
|
|
2375
|
-
this.ruleActionLocator = this.getChild('aca-rule-action');
|
|
2376
|
-
this.addActionButtonLocator = this.getChild('[data-automation-id="rule-action-list-add-action-button"]');
|
|
2377
|
-
this.actionDropdownLocator = this.getChild('[data-automation-id="rule-action-select"]');
|
|
2378
|
-
this.actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
|
|
2379
|
-
this.actionCheckInInputLocator = '[data-automation-id="header-description"] input';
|
|
2380
|
-
this.actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
|
|
2381
|
-
this.actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
|
|
2382
|
-
this.actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
|
|
2383
|
-
this.actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
|
|
2384
|
-
this.actionSimpleWorkflowLabelApproveLocator = `[data-automation-id="card-boolean-label-approve-move"]`;
|
|
2385
|
-
this.actionSimpleWorkflowSRejectStepLocator = '[data-automation-id="header-reject-step"] input';
|
|
2386
|
-
this.actionSimpleWorkflowRejectFolderLocator = `[data-automation-id="header-reject-folder"] input`;
|
|
2387
2393
|
}
|
|
2388
2394
|
async selectAction(action, index) {
|
|
2389
2395
|
if (index > 0) {
|
|
@@ -2417,7 +2423,6 @@ class ActionsDropdownComponent extends BaseComponent {
|
|
|
2417
2423
|
await this.page.locator(this.actionSimpleWorkflowActionChoiceLocator).click();
|
|
2418
2424
|
}
|
|
2419
2425
|
}
|
|
2420
|
-
ActionsDropdownComponent.rootElement = 'aca-edit-rule-dialog aca-rule-action-list';
|
|
2421
2426
|
|
|
2422
2427
|
/*!
|
|
2423
2428
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2460,10 +2465,7 @@ var Comparator;
|
|
|
2460
2465
|
Comparator["EndsWith"] = "Ends with";
|
|
2461
2466
|
})(Comparator || (Comparator = {}));
|
|
2462
2467
|
class ConditionComponent extends ManageRulesDialogComponent {
|
|
2463
|
-
|
|
2464
|
-
super(...arguments);
|
|
2465
|
-
this.getOptionLocator = (optionName) => this.page.locator(`.cdk-overlay-pane .mat-mdc-option span`, { hasText: optionName });
|
|
2466
|
-
}
|
|
2468
|
+
getOptionLocator = (optionName) => this.page.locator(`.cdk-overlay-pane .mat-mdc-option span`, { hasText: optionName });
|
|
2467
2469
|
async selectField(fields, index) {
|
|
2468
2470
|
await this.fieldDropDown.nth(index).click();
|
|
2469
2471
|
const option = this.getOptionLocator(fields);
|
|
@@ -2517,38 +2519,57 @@ class ConditionComponent extends ManageRulesDialogComponent {
|
|
|
2517
2519
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2518
2520
|
*/
|
|
2519
2521
|
class AdfInfoDrawerComponent extends BaseComponent {
|
|
2522
|
+
static rootElement = 'adf-info-drawer';
|
|
2520
2523
|
constructor(page) {
|
|
2521
2524
|
super(page, AdfInfoDrawerComponent.rootElement);
|
|
2522
|
-
this.getNameField = (labelText) => this.getChild(`[data-automation-id="library-name-properties-wrapper"] input[placeholder='${labelText}']`);
|
|
2523
|
-
this.getIdField = (labelText) => this.getChild(`[data-automation-id="library-id-properties-wrapper"] input[placeholder='${labelText}']`);
|
|
2524
|
-
this.getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] mat-select[ng-reflect-placeholder='${labelText}']`);
|
|
2525
|
-
this.getDescriptionField = this.getChild('[data-automation-id="library-description-properties-wrapper"] textarea');
|
|
2526
|
-
this.propertiesTab = this.page.getByRole('tab', { name: 'Properties' });
|
|
2527
|
-
this.commentsTab = this.page.getByRole('tab', { name: 'Comments' });
|
|
2528
|
-
this.infoDrawerTabs = this.getChild('.adf-info-drawer-tab');
|
|
2529
|
-
this.commentInputField = this.page.locator('#comment-input');
|
|
2530
|
-
this.commentsHeader = this.getChild('#comment-header');
|
|
2531
|
-
this.addCommentButton = this.getChild('[data-automation-id="comments-input-add"]');
|
|
2532
|
-
this.commentsList = this.getChild('.adf-comment-list-item');
|
|
2533
|
-
this.commentUsername = this.getChild('.adf-comment-user-name');
|
|
2534
|
-
this.commentTextContent = this.getChild('.adf-comment-message');
|
|
2535
|
-
this.commentTimestamp = this.getChild('.adf-comment-message-time');
|
|
2536
|
-
this.infoDrawerPanel = this.page.locator('.adf-info-drawer');
|
|
2537
|
-
this.headerTitle = this.page.locator('.adf-info-drawer-layout-header-title').getByRole('heading');
|
|
2538
|
-
this.editButton = this.page.getByRole('button', { name: 'Edit' });
|
|
2539
|
-
this.cancelButton = this.page.getByRole('button', { name: 'Cancel' });
|
|
2540
|
-
this.updateButton = this.page.getByRole('button', { name: 'Update' });
|
|
2541
|
-
this.hintMessage = this.page.locator('mat-hint');
|
|
2542
|
-
this.errorMessage = this.page.locator('mat-error');
|
|
2543
|
-
this.expandDetailsButton = this.getChild(`button[title='Expand panel']`);
|
|
2544
|
-
this.expandedDetailsTabs = this.page.locator('.aca-details-container .mdc-tab__text-label');
|
|
2545
|
-
this.expandedDetailsPermissionsTab = this.expandedDetailsTabs.getByText('Permissions');
|
|
2546
|
-
this.nameField = this.page.locator('input[placeholder=Name]');
|
|
2547
|
-
this.idField = this.page.locator(`input[placeholder='Library ID']`);
|
|
2548
|
-
this.descriptionField = this.page.locator('textarea[placeholder=Description]');
|
|
2549
|
-
this.visibilityField = this.infoDrawerPanel.getByRole('combobox');
|
|
2550
|
-
this.selectVisibility = (visibilityOption) => this.page.getByRole('listbox').getByRole('option', { name: visibilityOption }).click();
|
|
2551
2525
|
}
|
|
2526
|
+
categoriesManagement = this.getChild('adf-categories-management');
|
|
2527
|
+
tagsCreator = this.getChild('adf-tags-creator');
|
|
2528
|
+
getNameField = (labelText) => this.getChild(`[data-automation-id="library-name-properties-wrapper"] input[placeholder='${labelText}']`);
|
|
2529
|
+
getIdField = (labelText) => this.getChild(`[data-automation-id="library-id-properties-wrapper"] input[placeholder='${labelText}']`);
|
|
2530
|
+
getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] mat-select[ng-reflect-placeholder='${labelText}']`);
|
|
2531
|
+
getDescriptionField = this.getChild('[data-automation-id="library-description-properties-wrapper"] textarea');
|
|
2532
|
+
propertiesTab = this.page.getByRole('tab', { name: 'Properties' });
|
|
2533
|
+
commentsTab = this.page.getByRole('tab', { name: 'Comments' });
|
|
2534
|
+
infoDrawerTabs = this.getChild('.adf-info-drawer-tab');
|
|
2535
|
+
commentInputField = this.page.locator('#comment-input');
|
|
2536
|
+
commentsHeader = this.getChild('#comment-header');
|
|
2537
|
+
addCommentButton = this.getChild('[data-automation-id="comments-input-add"]');
|
|
2538
|
+
commentsList = this.getChild('.adf-comment-list-item');
|
|
2539
|
+
commentUsername = this.getChild('.adf-comment-user-name');
|
|
2540
|
+
commentTextContent = this.getChild('.adf-comment-message');
|
|
2541
|
+
commentTimestamp = this.getChild('.adf-comment-message-time');
|
|
2542
|
+
infoDrawerPanel = this.page.locator('.adf-info-drawer');
|
|
2543
|
+
headerTitle = this.page.locator('.adf-info-drawer-layout-header-title').getByRole('heading');
|
|
2544
|
+
editButton = this.page.getByRole('button', { name: 'Edit' });
|
|
2545
|
+
cancelButton = this.page.getByRole('button', { name: 'Cancel' });
|
|
2546
|
+
updateButton = this.page.getByRole('button', { name: 'Update' });
|
|
2547
|
+
hintMessage = this.page.locator('mat-hint');
|
|
2548
|
+
errorMessage = this.page.locator('mat-error');
|
|
2549
|
+
expandDetailsButton = this.getChild(`button[title='Expand panel']`);
|
|
2550
|
+
expandedDetailsTabs = this.page.locator('.aca-details-container .mdc-tab__text-label');
|
|
2551
|
+
expandedDetailsPermissionsTab = this.expandedDetailsTabs.getByText('Permissions');
|
|
2552
|
+
nameField = this.page.locator('input[placeholder=Name]');
|
|
2553
|
+
idField = this.page.locator(`input[placeholder='Library ID']`);
|
|
2554
|
+
descriptionField = this.page.locator('textarea[placeholder=Description]');
|
|
2555
|
+
visibilityField = this.infoDrawerPanel.getByRole('combobox');
|
|
2556
|
+
selectVisibility = (visibilityOption) => this.page.getByRole('listbox').getByRole('option', { name: visibilityOption }).click();
|
|
2557
|
+
tagsAccordion = this.getChild('[data-automation-id="adf-content-metadata-tags-panel"]');
|
|
2558
|
+
categoriesAccordion = this.getChild('[data-automation-id="adf-content-metadata-categories-panel"]');
|
|
2559
|
+
tagsAccordionPenButton = this.tagsAccordion.locator('[data-automation-id="showing-tag-input-button"]');
|
|
2560
|
+
categoriesAccordionPenButton = this.categoriesAccordion.locator('[data-automation-id="meta-data-categories-edit"]');
|
|
2561
|
+
tagsInput = this.tagsCreator.locator('input');
|
|
2562
|
+
createTagButton = this.tagsCreator.locator('[role="button"]');
|
|
2563
|
+
tagsChips = this.tagsCreator.locator('mat-chip');
|
|
2564
|
+
tagsChipsXButton = this.tagsChips.locator('button');
|
|
2565
|
+
tagsAccordionCancelButton = this.getChild('[data-automation-id="reset-tags-metadata"]');
|
|
2566
|
+
tagsAccordionConfirmButton = this.getChild('[data-automation-id="save-tags-metadata"]');
|
|
2567
|
+
categoriesAccordionCancelButton = this.getChild('[data-automation-id="reset-metadata"]');
|
|
2568
|
+
categoriesAccordionConfirmButton = this.getChild('[data-automation-id="save-categories-metadata"]');
|
|
2569
|
+
categoriesInput = this.categoriesManagement.locator('input');
|
|
2570
|
+
categoriesListItems = this.categoriesManagement.locator('mat-list-item');
|
|
2571
|
+
categoriesItemRemoveButton = this.categoriesManagement.locator('[data-automation-id="categories-remove-category-button"]');
|
|
2572
|
+
categoriesCreatedList = this.getChild('.adf-metadata-categories');
|
|
2552
2573
|
async checkCommentsHeaderCount() {
|
|
2553
2574
|
const commentsCountTextContent = await this.commentsHeader.textContent();
|
|
2554
2575
|
const commentsCountString = commentsCountTextContent.match(/\d+/g)[0];
|
|
@@ -2572,7 +2593,6 @@ class AdfInfoDrawerComponent extends BaseComponent {
|
|
|
2572
2593
|
return this.infoDrawerTabs.count();
|
|
2573
2594
|
}
|
|
2574
2595
|
}
|
|
2575
|
-
AdfInfoDrawerComponent.rootElement = 'adf-info-drawer';
|
|
2576
2596
|
|
|
2577
2597
|
/*!
|
|
2578
2598
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2598,27 +2618,28 @@ AdfInfoDrawerComponent.rootElement = 'adf-info-drawer';
|
|
|
2598
2618
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2599
2619
|
*/
|
|
2600
2620
|
class AcaHeader extends BaseComponent {
|
|
2621
|
+
static rootElement = 'aca-toolbar';
|
|
2622
|
+
moreActionsButton = this.getChild('button[id="app.viewer.toolbar.more"]');
|
|
2623
|
+
toolbarMoreActions = this.getChild('button[id="app.toolbar.more"]');
|
|
2624
|
+
createButton = this.getChild('[id="app.toolbar.create"]');
|
|
2625
|
+
viewDetails = this.getChild('[title="View Details"]');
|
|
2626
|
+
viewButton = this.getChild('button[title="View"]');
|
|
2627
|
+
searchButton = this.getChild('button[id="app.toolbar.search"]');
|
|
2628
|
+
fullScreenButton = this.getChild('button[id="app.viewer.fullscreen"]');
|
|
2629
|
+
shareButton = this.getChild('button[id="share-action-button"]');
|
|
2630
|
+
downloadButtonViewer = this.getChild('button[id="app.viewer.download"]');
|
|
2631
|
+
downloadButton = this.getChild('button[id="app.toolbar.download"]');
|
|
2632
|
+
sharedDownloadButton = this.getChild('button[id="app.viewer.shared.download"]');
|
|
2633
|
+
uploadButton = this.getChild('button[id="app.toolbar.upload"]');
|
|
2634
|
+
uploadFileButton = this.page.locator('button[id="app.create.uploadFile"]');
|
|
2635
|
+
uploadInput = this.page.locator('input[id="app-upload-files"]');
|
|
2636
|
+
uploadNewVersionButton = this.page.locator('#app-upload-file-version');
|
|
2637
|
+
permanentlyDeleteButton = this.getChild('button[id="app.toolbar.purgeDeletedNodes"]');
|
|
2638
|
+
restoreButton = this.getChild('button[id="app.toolbar.restoreDeletedNodes"]');
|
|
2601
2639
|
constructor(page) {
|
|
2602
2640
|
super(page, AcaHeader.rootElement);
|
|
2603
|
-
this.moreActionsButton = this.getChild('button[id="app.viewer.toolbar.more"]');
|
|
2604
|
-
this.toolbarMoreActions = this.getChild('button[id="app.toolbar.more"]');
|
|
2605
|
-
this.createButton = this.getChild('[id="app.toolbar.create"]');
|
|
2606
|
-
this.viewDetails = this.getChild('[title="View Details"]');
|
|
2607
|
-
this.viewButton = this.getChild('button[title="View"]');
|
|
2608
|
-
this.searchButton = this.getChild('button[id="app.toolbar.search"]');
|
|
2609
|
-
this.fullScreenButton = this.getChild('button[id="app.viewer.fullscreen"]');
|
|
2610
|
-
this.shareButton = this.getChild('button[id="share-action-button"]');
|
|
2611
|
-
this.downloadButtonViewer = this.getChild('button[id="app.viewer.download"]');
|
|
2612
|
-
this.downloadButton = this.getChild('button[id="app.toolbar.download"]');
|
|
2613
|
-
this.sharedDownloadButton = this.getChild('button[id="app.viewer.shared.download"]');
|
|
2614
|
-
this.uploadButton = this.getChild('button[id="app.toolbar.upload"]');
|
|
2615
|
-
this.uploadFileButton = this.page.locator('button[id="app.create.uploadFile"]');
|
|
2616
|
-
this.uploadInput = this.page.locator('input[id="app-upload-files"]');
|
|
2617
|
-
this.uploadNewVersionButton = this.page.locator('#app-upload-file-version');
|
|
2618
|
-
this.permanentlyDeleteButton = this.getChild('button[id="app.toolbar.purgeDeletedNodes"]');
|
|
2619
|
-
this.restoreButton = this.getChild('button[id="app.toolbar.restoreDeletedNodes"]');
|
|
2620
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
2621
2641
|
}
|
|
2642
|
+
matMenu = new MatMenuComponent(this.page);
|
|
2622
2643
|
async clickViewerMoreActions() {
|
|
2623
2644
|
await this.moreActionsButton.waitFor({ state: 'attached' });
|
|
2624
2645
|
await this.moreActionsButton.click();
|
|
@@ -2646,7 +2667,6 @@ class AcaHeader extends BaseComponent {
|
|
|
2646
2667
|
await this.matMenu.createFileFromTemplate.click();
|
|
2647
2668
|
}
|
|
2648
2669
|
}
|
|
2649
|
-
AcaHeader.rootElement = 'aca-toolbar';
|
|
2650
2670
|
|
|
2651
2671
|
/*!
|
|
2652
2672
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2672,17 +2692,26 @@ AcaHeader.rootElement = 'aca-toolbar';
|
|
|
2672
2692
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2673
2693
|
*/
|
|
2674
2694
|
class ViewerComponent extends BaseComponent {
|
|
2695
|
+
static rootElement = 'adf-viewer';
|
|
2696
|
+
viewerLocator = this.getChild('.adf-viewer-render-layout-content');
|
|
2697
|
+
closeButtonLocator = this.getChild('.adf-viewer-close-button');
|
|
2698
|
+
fileTitleButtonLocator = this.getChild('.adf-viewer__file-title');
|
|
2699
|
+
pdfViewerContentPages = this.getChild('.adf-pdf-viewer__content .page');
|
|
2700
|
+
shareButton = this.getChild('button[id="share-action-button"]');
|
|
2701
|
+
downloadButton = this.getChild('button[id="app.viewer.download"]');
|
|
2702
|
+
allButtons = this.getChild('button');
|
|
2703
|
+
unknownFormat = this.getChild(`adf-viewer-unknown-format .adf-viewer__unknown-format-view`);
|
|
2704
|
+
viewerImage = this.viewerLocator.locator('.cropper-canvas img');
|
|
2705
|
+
viewerDocument = this.viewerLocator.locator('.adf-pdf-viewer__content [role="document"]');
|
|
2706
|
+
documentThumbnailButton = this.getChild('[data-automation-id="adf-thumbnails-button"]');
|
|
2707
|
+
thumbnailsPages = this.getChild('[data-automation-id="adf-thumbnails-content"] adf-pdf-thumb');
|
|
2708
|
+
thumbnailsCloseButton = this.getChild('[data-automation-id="adf-thumbnails-close"]');
|
|
2709
|
+
viewerPage = this.getChild('[data-automation-id="adf-page-selector"]');
|
|
2710
|
+
viewerMedia = this.getChild('adf-media-player');
|
|
2711
|
+
viewerSpinner = this.getChild('.adf-viewer-render__loading-screen');
|
|
2712
|
+
toolbar = new AcaHeader(this.page);
|
|
2675
2713
|
constructor(page) {
|
|
2676
2714
|
super(page, ViewerComponent.rootElement);
|
|
2677
|
-
this.viewerLocator = this.getChild('.adf-viewer-render-layout-content');
|
|
2678
|
-
this.closeButtonLocator = this.getChild('.adf-viewer-close-button');
|
|
2679
|
-
this.fileTitleButtonLocator = this.getChild('.adf-viewer__file-title');
|
|
2680
|
-
this.pdfViewerContentPages = this.getChild('.adf-pdf-viewer__content .page');
|
|
2681
|
-
this.shareButton = this.getChild('button[id="share-action-button"]');
|
|
2682
|
-
this.downloadButton = this.getChild('button[id="app.viewer.download"]');
|
|
2683
|
-
this.allButtons = this.getChild('button');
|
|
2684
|
-
this.unknownFormat = this.getChild(`adf-viewer-unknown-format .adf-viewer__unknown-format-view`);
|
|
2685
|
-
this.toolbar = new AcaHeader(this.page);
|
|
2686
2715
|
}
|
|
2687
2716
|
async isPdfViewerContentDisplayed() {
|
|
2688
2717
|
const count = await this.pdfViewerContentPages.count();
|
|
@@ -2698,6 +2727,15 @@ class ViewerComponent extends BaseComponent {
|
|
|
2698
2727
|
await this.waitForViewerToOpen();
|
|
2699
2728
|
return this.viewerLocator.isVisible();
|
|
2700
2729
|
}
|
|
2730
|
+
async waitForViewerLoaderToFinish() {
|
|
2731
|
+
await this.viewerSpinner.waitFor({ state: 'hidden', timeout: timeouts.extraLarge });
|
|
2732
|
+
}
|
|
2733
|
+
async checkViewerActivePage(pageNumber) {
|
|
2734
|
+
await expect(this.viewerPage).toHaveValue(pageNumber.toString());
|
|
2735
|
+
}
|
|
2736
|
+
async clickViewerThumbnailPage(pageNumber) {
|
|
2737
|
+
await this.thumbnailsPages.nth(pageNumber - 1).click();
|
|
2738
|
+
}
|
|
2701
2739
|
async isCloseButtonDisplayed() {
|
|
2702
2740
|
await this.closeButtonLocator.waitFor({ state: 'visible', timeout: timeouts.normal });
|
|
2703
2741
|
return this.closeButtonLocator.isEnabled({ timeout: timeouts.normal });
|
|
@@ -2734,7 +2772,6 @@ class ViewerComponent extends BaseComponent {
|
|
|
2734
2772
|
return this.unknownFormat.locator(`.adf-viewer__unknown-label`).innerText();
|
|
2735
2773
|
}
|
|
2736
2774
|
}
|
|
2737
|
-
ViewerComponent.rootElement = 'adf-viewer';
|
|
2738
2775
|
|
|
2739
2776
|
/*!
|
|
2740
2777
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2760,18 +2797,19 @@ ViewerComponent.rootElement = 'adf-viewer';
|
|
|
2760
2797
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2761
2798
|
*/
|
|
2762
2799
|
class SearchInputComponent extends BaseComponent {
|
|
2800
|
+
static rootElement = 'aca-page-layout';
|
|
2801
|
+
searchInput = this.page.locator('#app-control-input');
|
|
2802
|
+
searchButton = this.page.locator('.aca-search-input--search-button');
|
|
2803
|
+
searchCloseButton = this.page.locator('.aca-search-input--close-button');
|
|
2804
|
+
/**
|
|
2805
|
+
* Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
|
|
2806
|
+
* Perform action .click() to navigate inside it
|
|
2807
|
+
*
|
|
2808
|
+
* @returns reference to cell element which contains link.
|
|
2809
|
+
*/
|
|
2810
|
+
getCellLinkByName = (name) => this.getChild('.adf-datatable-row[role="row"]', { hasText: name });
|
|
2763
2811
|
constructor(page, rootElement = SearchInputComponent.rootElement) {
|
|
2764
2812
|
super(page, rootElement);
|
|
2765
|
-
this.searchInput = this.page.locator('#app-control-input');
|
|
2766
|
-
this.searchButton = this.page.locator('.aca-search-input--search-button');
|
|
2767
|
-
this.searchCloseButton = this.page.locator('.aca-search-input--close-button');
|
|
2768
|
-
/**
|
|
2769
|
-
* Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
|
|
2770
|
-
* Perform action .click() to navigate inside it
|
|
2771
|
-
*
|
|
2772
|
-
* @returns reference to cell element which contains link.
|
|
2773
|
-
*/
|
|
2774
|
-
this.getCellLinkByName = (name) => this.getChild('.adf-datatable-row[role="row"]', { hasText: name });
|
|
2775
2813
|
}
|
|
2776
2814
|
async performDoubleClickFolderOrFileToOpen(name) {
|
|
2777
2815
|
await this.getCellLinkByName(name).waitFor({ state: 'visible', timeout: timeouts.medium });
|
|
@@ -2779,7 +2817,6 @@ class SearchInputComponent extends BaseComponent {
|
|
|
2779
2817
|
await this.spinnerWaitForReload();
|
|
2780
2818
|
}
|
|
2781
2819
|
}
|
|
2782
|
-
SearchInputComponent.rootElement = 'aca-page-layout';
|
|
2783
2820
|
|
|
2784
2821
|
/*!
|
|
2785
2822
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2805,15 +2842,16 @@ SearchInputComponent.rootElement = 'aca-page-layout';
|
|
|
2805
2842
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2806
2843
|
*/
|
|
2807
2844
|
class SearchOverlayComponent extends BaseComponent {
|
|
2845
|
+
static rootElement = '.cdk-overlay-pane';
|
|
2846
|
+
searchFilesOption = this.getChild('input#content-input');
|
|
2847
|
+
searchFoldersOption = this.getChild('input#folder-input');
|
|
2848
|
+
searchLibrariesOption = this.getChild('input#libraries-input');
|
|
2849
|
+
searchInput = this.page.locator('#app-control-input');
|
|
2850
|
+
searchButton = this.page.locator('app-search-input-control button[title="Search"]');
|
|
2851
|
+
searchInputControl = this.page.locator('.app-search-control');
|
|
2852
|
+
searchOptions = this.page.locator('.app-search-options');
|
|
2808
2853
|
constructor(page, rootElement = SearchOverlayComponent.rootElement) {
|
|
2809
2854
|
super(page, rootElement);
|
|
2810
|
-
this.searchFilesOption = this.getChild('input#content-input');
|
|
2811
|
-
this.searchFoldersOption = this.getChild('input#folder-input');
|
|
2812
|
-
this.searchLibrariesOption = this.getChild('input#libraries-input');
|
|
2813
|
-
this.searchInput = this.page.locator('#app-control-input');
|
|
2814
|
-
this.searchButton = this.page.locator('.aca-search-input--search-button');
|
|
2815
|
-
this.searchInputControl = this.page.locator('.app-search-control');
|
|
2816
|
-
this.searchOptions = this.page.locator('.app-search-options');
|
|
2817
2855
|
}
|
|
2818
2856
|
async isFoldersOptionChecked() {
|
|
2819
2857
|
const optClass = await this.searchFoldersOption.getAttribute('class');
|
|
@@ -2860,7 +2898,6 @@ class SearchOverlayComponent extends BaseComponent {
|
|
|
2860
2898
|
await this.searchButton.click({ force: true });
|
|
2861
2899
|
}
|
|
2862
2900
|
}
|
|
2863
|
-
SearchOverlayComponent.rootElement = '.cdk-overlay-pane';
|
|
2864
2901
|
|
|
2865
2902
|
/*!
|
|
2866
2903
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2886,12 +2923,13 @@ SearchOverlayComponent.rootElement = '.cdk-overlay-pane';
|
|
|
2886
2923
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2887
2924
|
*/
|
|
2888
2925
|
class SearchSortingPicker extends BaseComponent {
|
|
2926
|
+
static rootElement = '#aca-button-action-menu';
|
|
2927
|
+
actionMenu = this.page.locator('[data-automation-id="auto_header_content_id_$thumbnail"]');
|
|
2928
|
+
sortOrderButton = this.page.locator('#aca-button-sorting-menu');
|
|
2929
|
+
sortByDropdownExpanded = this.page.locator('.mat-mdc-menu-panel').first();
|
|
2930
|
+
sortByList = this.page.locator('.mat-mdc-menu-panel button');
|
|
2889
2931
|
constructor(page, rootElement = SearchSortingPicker.rootElement) {
|
|
2890
2932
|
super(page, rootElement);
|
|
2891
|
-
this.actionMenu = this.page.locator('[data-automation-id="auto_header_content_id_$thumbnail"]');
|
|
2892
|
-
this.sortOrderButton = this.page.locator('#aca-button-sorting-menu');
|
|
2893
|
-
this.sortByDropdownExpanded = this.page.locator('.mat-mdc-menu-panel').first();
|
|
2894
|
-
this.sortByList = this.page.locator('.mat-mdc-menu-panel button');
|
|
2895
2933
|
}
|
|
2896
2934
|
async waitForSortByDropdownToExpand() {
|
|
2897
2935
|
await this.sortByDropdownExpanded.waitFor();
|
|
@@ -2930,7 +2968,6 @@ class SearchSortingPicker extends BaseComponent {
|
|
|
2930
2968
|
await this.progressBarWaitForReload();
|
|
2931
2969
|
}
|
|
2932
2970
|
}
|
|
2933
|
-
SearchSortingPicker.rootElement = '#aca-button-action-menu';
|
|
2934
2971
|
|
|
2935
2972
|
/*!
|
|
2936
2973
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2956,24 +2993,24 @@ SearchSortingPicker.rootElement = '#aca-button-action-menu';
|
|
|
2956
2993
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
2957
2994
|
*/
|
|
2958
2995
|
class SearchFilters extends BaseComponent {
|
|
2996
|
+
static rootElement = '.aca-content__advanced-filters';
|
|
2959
2997
|
constructor(page) {
|
|
2960
2998
|
super(page, SearchFilters.rootElement);
|
|
2961
|
-
this.filtersButtons = this.page.locator('adf-search-widget-chip');
|
|
2962
|
-
this.logicFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Logic' });
|
|
2963
|
-
this.propertiesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Properties' });
|
|
2964
|
-
this.dateFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Date' });
|
|
2965
|
-
this.locationFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Location' });
|
|
2966
|
-
this.tagsFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Tags' });
|
|
2967
|
-
this.categoriesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Categories' });
|
|
2968
|
-
this.resetButton = this.page.locator('button', { hasText: 'Reset' });
|
|
2969
|
-
this.menuCardTitle = this.page.locator('.adf-search-filter-title');
|
|
2970
|
-
this.menuCardClose = this.page.locator('.adf-search-filter-title-action');
|
|
2971
|
-
this.menuCardClear = this.page.locator('#cancel-filter-button');
|
|
2972
|
-
this.menuCardApply = this.page.locator('#apply-filter-button');
|
|
2973
|
-
this.dropdownOptions = this.page.locator(`mat-option`);
|
|
2974
2999
|
}
|
|
3000
|
+
filtersButtons = this.page.locator('adf-search-widget-chip');
|
|
3001
|
+
logicFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Logic' });
|
|
3002
|
+
propertiesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Properties' });
|
|
3003
|
+
dateFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Date' });
|
|
3004
|
+
locationFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Location' });
|
|
3005
|
+
tagsFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Tags' });
|
|
3006
|
+
categoriesFilter = this.page.locator('adf-search-widget-chip', { hasText: 'Categories' });
|
|
3007
|
+
resetButton = this.page.locator('button', { hasText: 'Reset' });
|
|
3008
|
+
menuCardTitle = this.page.locator('.adf-search-filter-title');
|
|
3009
|
+
menuCardClose = this.page.locator('.adf-search-filter-title-action');
|
|
3010
|
+
menuCardClear = this.page.locator('#cancel-filter-button');
|
|
3011
|
+
menuCardApply = this.page.locator('#apply-filter-button');
|
|
3012
|
+
dropdownOptions = this.page.locator(`mat-option`);
|
|
2975
3013
|
}
|
|
2976
|
-
SearchFilters.rootElement = '.aca-content__advanced-filters';
|
|
2977
3014
|
|
|
2978
3015
|
/*!
|
|
2979
3016
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -2999,12 +3036,12 @@ SearchFilters.rootElement = '.aca-content__advanced-filters';
|
|
|
2999
3036
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3000
3037
|
*/
|
|
3001
3038
|
class SearchFiltersCategories extends BaseComponent {
|
|
3039
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3002
3040
|
constructor(page) {
|
|
3003
3041
|
super(page, SearchFiltersCategories.rootElement);
|
|
3004
|
-
this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3005
3042
|
}
|
|
3043
|
+
addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3006
3044
|
}
|
|
3007
|
-
SearchFiltersCategories.rootElement = '.adf-search-filter-menu-card';
|
|
3008
3045
|
|
|
3009
3046
|
/*!
|
|
3010
3047
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3030,22 +3067,23 @@ SearchFiltersCategories.rootElement = '.adf-search-filter-menu-card';
|
|
|
3030
3067
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3031
3068
|
*/
|
|
3032
3069
|
class SearchFiltersDate extends BaseComponent {
|
|
3070
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3033
3071
|
constructor(page) {
|
|
3034
3072
|
super(page, SearchFiltersDate.rootElement);
|
|
3035
|
-
this.createdTab = this.getChild(`[role='tab']`, { hasText: 'Created' });
|
|
3036
|
-
this.modifiedTab = this.getChild(`[role='tab']`, { hasText: 'Modified' });
|
|
3037
|
-
this.createdTabTitle = this.createdTab.locator(`div`);
|
|
3038
|
-
this.modifiedTabTitle = this.modifiedTab.locator(`div`);
|
|
3039
|
-
this.anytimeButton = this.getChild(`[data-automation-id$='date-range-anytime']`);
|
|
3040
|
-
this.anytimeRadioButton = this.anytimeButton.locator(`input`);
|
|
3041
|
-
this.inTheLastButton = this.getChild(`[data-automation-id$='date-range-in-last']`);
|
|
3042
|
-
this.inTheLastInput = this.getChild(`[data-automation-id$='date-range-in-last-input']`);
|
|
3043
|
-
this.inTheLastDropdown = this.getChild(`[data-automation-id$='date-range-in-last-dropdown']`);
|
|
3044
|
-
this.betweenButton = this.getChild(`[data-automation-id$='date-range-between']`);
|
|
3045
|
-
this.betweenRadioButton = this.betweenButton.locator(`input`);
|
|
3046
|
-
this.betweenStartDate = this.getChild(`[data-automation-id$='date-range-between-start-input']`);
|
|
3047
|
-
this.betweenEndDate = this.getChild(`[data-automation-id$='date-range-between-end-input']`);
|
|
3048
3073
|
}
|
|
3074
|
+
createdTab = this.getChild(`[role='tab']`, { hasText: 'Created' });
|
|
3075
|
+
modifiedTab = this.getChild(`[role='tab']`, { hasText: 'Modified' });
|
|
3076
|
+
createdTabTitle = this.createdTab.locator(`div`);
|
|
3077
|
+
modifiedTabTitle = this.modifiedTab.locator(`div`);
|
|
3078
|
+
anytimeButton = this.getChild(`[data-automation-id$='date-range-anytime']`);
|
|
3079
|
+
anytimeRadioButton = this.anytimeButton.locator(`input`);
|
|
3080
|
+
inTheLastButton = this.getChild(`[data-automation-id$='date-range-in-last']`);
|
|
3081
|
+
inTheLastInput = this.getChild(`[data-automation-id$='date-range-in-last-input']`);
|
|
3082
|
+
inTheLastDropdown = this.getChild(`[data-automation-id$='date-range-in-last-dropdown']`);
|
|
3083
|
+
betweenButton = this.getChild(`[data-automation-id$='date-range-between']`);
|
|
3084
|
+
betweenRadioButton = this.betweenButton.locator(`input`);
|
|
3085
|
+
betweenStartDate = this.getChild(`[data-automation-id$='date-range-between-start-input']`);
|
|
3086
|
+
betweenEndDate = this.getChild(`[data-automation-id$='date-range-between-end-input']`);
|
|
3049
3087
|
async openCreatedModifiedTab(page, tab) {
|
|
3050
3088
|
switch (tab) {
|
|
3051
3089
|
case 'Created':
|
|
@@ -3116,7 +3154,6 @@ class SearchFiltersDate extends BaseComponent {
|
|
|
3116
3154
|
return this.createdTab.getAttribute('aria-selected');
|
|
3117
3155
|
}
|
|
3118
3156
|
}
|
|
3119
|
-
SearchFiltersDate.rootElement = '.adf-search-filter-menu-card';
|
|
3120
3157
|
|
|
3121
3158
|
/*!
|
|
3122
3159
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3142,10 +3179,11 @@ SearchFiltersDate.rootElement = '.adf-search-filter-menu-card';
|
|
|
3142
3179
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3143
3180
|
*/
|
|
3144
3181
|
class SearchFiltersLocation extends BaseComponent {
|
|
3182
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3145
3183
|
constructor(page) {
|
|
3146
3184
|
super(page, SearchFiltersLocation.rootElement);
|
|
3147
|
-
this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3148
3185
|
}
|
|
3186
|
+
addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3149
3187
|
async filterByLocation(page, location) {
|
|
3150
3188
|
await page.searchFilters.locationFilter.click();
|
|
3151
3189
|
await page.searchFiltersLocation.addOptionInput.fill(location);
|
|
@@ -3154,7 +3192,6 @@ class SearchFiltersLocation extends BaseComponent {
|
|
|
3154
3192
|
await page.dataTable.progressBarWaitForReload();
|
|
3155
3193
|
}
|
|
3156
3194
|
}
|
|
3157
|
-
SearchFiltersLocation.rootElement = '.adf-search-filter-menu-card';
|
|
3158
3195
|
|
|
3159
3196
|
/*!
|
|
3160
3197
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3180,15 +3217,15 @@ SearchFiltersLocation.rootElement = '.adf-search-filter-menu-card';
|
|
|
3180
3217
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3181
3218
|
*/
|
|
3182
3219
|
class SearchFiltersLogic extends BaseComponent {
|
|
3220
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3183
3221
|
constructor(page) {
|
|
3184
3222
|
super(page, SearchFiltersLogic.rootElement);
|
|
3185
|
-
this.matchAllInput = this.getChild(`[placeholder$='Results will match all words entered here']`);
|
|
3186
|
-
this.matchAnyInput = this.getChild(`[placeholder$='Results will match any words entered here']`);
|
|
3187
|
-
this.excludeInput = this.getChild(`[placeholder$='Results will exclude matches with these words']`);
|
|
3188
|
-
this.matchExactInput = this.getChild(`[placeholder$='Results will match this entire phrase']`);
|
|
3189
3223
|
}
|
|
3224
|
+
matchAllInput = this.getChild(`[placeholder$='Results will match all words entered here']`);
|
|
3225
|
+
matchAnyInput = this.getChild(`[placeholder$='Results will match any words entered here']`);
|
|
3226
|
+
excludeInput = this.getChild(`[placeholder$='Results will exclude matches with these words']`);
|
|
3227
|
+
matchExactInput = this.getChild(`[placeholder$='Results will match this entire phrase']`);
|
|
3190
3228
|
}
|
|
3191
|
-
SearchFiltersLogic.rootElement = '.adf-search-filter-menu-card';
|
|
3192
3229
|
|
|
3193
3230
|
/*!
|
|
3194
3231
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3214,20 +3251,21 @@ SearchFiltersLogic.rootElement = '.adf-search-filter-menu-card';
|
|
|
3214
3251
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3215
3252
|
*/
|
|
3216
3253
|
class SearchFiltersProperties extends BaseComponent {
|
|
3254
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3217
3255
|
constructor(page) {
|
|
3218
3256
|
super(page, SearchFiltersProperties.rootElement);
|
|
3219
|
-
this.operatorButton = this.getChild(`.adf-search-properties-file-size-operator`);
|
|
3220
|
-
this.fileSizeInput = this.getChild(`[placeholder$='Enter file size']`);
|
|
3221
|
-
this.unitButton = this.getChild(`.adf-search-properties-file-size-unit`);
|
|
3222
|
-
this.fileTypeInput = this.getChild(`[placeholder$='File Type']`);
|
|
3223
|
-
this.atLeastOption = this.page.locator(`mat-option`, { hasText: 'At Least' });
|
|
3224
|
-
this.atMostOption = this.page.locator(`mat-option`, { hasText: 'At Most' });
|
|
3225
|
-
this.exactlyOption = this.page.locator(`mat-option`, { hasText: 'Exactly' });
|
|
3226
|
-
this.kbUnit = this.page.locator(`mat-option`, { hasText: 'KB' });
|
|
3227
|
-
this.mbUnit = this.page.locator(`mat-option`, { hasText: 'MB' });
|
|
3228
|
-
this.gbUnit = this.page.locator(`mat-option`, { hasText: 'GB' });
|
|
3229
|
-
this.dropdownOptions = this.page.locator(`mat-option`);
|
|
3230
3257
|
}
|
|
3258
|
+
operatorButton = this.getChild(`.adf-search-properties-file-size-operator`);
|
|
3259
|
+
fileSizeInput = this.getChild(`[placeholder$='Enter file size']`);
|
|
3260
|
+
unitButton = this.getChild(`.adf-search-properties-file-size-unit`);
|
|
3261
|
+
fileTypeInput = this.getChild(`[placeholder$='File Type']`);
|
|
3262
|
+
atLeastOption = this.page.locator(`mat-option`, { hasText: 'At Least' });
|
|
3263
|
+
atMostOption = this.page.locator(`mat-option`, { hasText: 'At Most' });
|
|
3264
|
+
exactlyOption = this.page.locator(`mat-option`, { hasText: 'Exactly' });
|
|
3265
|
+
kbUnit = this.page.locator(`mat-option`, { hasText: 'KB' });
|
|
3266
|
+
mbUnit = this.page.locator(`mat-option`, { hasText: 'MB' });
|
|
3267
|
+
gbUnit = this.page.locator(`mat-option`, { hasText: 'GB' });
|
|
3268
|
+
dropdownOptions = this.page.locator(`mat-option`);
|
|
3231
3269
|
async setPropertiesParameters(page, operator, unit, fileSizeInputText, fileTypeInputText) {
|
|
3232
3270
|
await page.searchFilters.propertiesFilter.click();
|
|
3233
3271
|
if (operator) {
|
|
@@ -3269,7 +3307,6 @@ class SearchFiltersProperties extends BaseComponent {
|
|
|
3269
3307
|
await page.dataTable.progressBarWaitForReload();
|
|
3270
3308
|
}
|
|
3271
3309
|
}
|
|
3272
|
-
SearchFiltersProperties.rootElement = '.adf-search-filter-menu-card';
|
|
3273
3310
|
|
|
3274
3311
|
/*!
|
|
3275
3312
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3295,10 +3332,11 @@ SearchFiltersProperties.rootElement = '.adf-search-filter-menu-card';
|
|
|
3295
3332
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3296
3333
|
*/
|
|
3297
3334
|
class SearchFiltersTags extends BaseComponent {
|
|
3335
|
+
static rootElement = '.adf-search-filter-menu-card';
|
|
3298
3336
|
constructor(page) {
|
|
3299
3337
|
super(page, SearchFiltersTags.rootElement);
|
|
3300
|
-
this.addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3301
3338
|
}
|
|
3339
|
+
addOptionInput = this.getChild(`[data-automation-id$='adf-search-chip-autocomplete-input']`);
|
|
3302
3340
|
async filterByTag(page, tag) {
|
|
3303
3341
|
await page.searchFilters.tagsFilter.click();
|
|
3304
3342
|
await page.searchFiltersTags.addOptionInput.fill(tag);
|
|
@@ -3307,7 +3345,6 @@ class SearchFiltersTags extends BaseComponent {
|
|
|
3307
3345
|
await page.dataTable.progressBarWaitForReload();
|
|
3308
3346
|
}
|
|
3309
3347
|
}
|
|
3310
|
-
SearchFiltersTags.rootElement = '.adf-search-filter-menu-card';
|
|
3311
3348
|
|
|
3312
3349
|
/*!
|
|
3313
3350
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3333,11 +3370,12 @@ SearchFiltersTags.rootElement = '.adf-search-filter-menu-card';
|
|
|
3333
3370
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3334
3371
|
*/
|
|
3335
3372
|
class Breadcrumb extends BaseComponent {
|
|
3373
|
+
static rootElement = 'adf-breadcrumb';
|
|
3374
|
+
items = this.getChild('.adf-breadcrumb-item');
|
|
3375
|
+
currentItem = this.getChild('.adf-breadcrumb-item-current');
|
|
3376
|
+
getItemByTitle = (name) => this.getChild(`.adf-breadcrumb-item[title=${name}]`);
|
|
3336
3377
|
constructor(page) {
|
|
3337
3378
|
super(page, Breadcrumb.rootElement);
|
|
3338
|
-
this.items = this.getChild('.adf-breadcrumb-item');
|
|
3339
|
-
this.currentItem = this.getChild('.adf-breadcrumb-item-current');
|
|
3340
|
-
this.getItemByTitle = (name) => this.getChild(`.adf-breadcrumb-item[title=${name}]`);
|
|
3341
3379
|
}
|
|
3342
3380
|
async getAllItems() {
|
|
3343
3381
|
const itemElements = await this.page.$$('adf-breadcrumb .adf-breadcrumb-item');
|
|
@@ -3352,7 +3390,6 @@ class Breadcrumb extends BaseComponent {
|
|
|
3352
3390
|
await elem.click();
|
|
3353
3391
|
}
|
|
3354
3392
|
}
|
|
3355
|
-
Breadcrumb.rootElement = 'adf-breadcrumb';
|
|
3356
3393
|
|
|
3357
3394
|
/*!
|
|
3358
3395
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3378,18 +3415,19 @@ Breadcrumb.rootElement = 'adf-breadcrumb';
|
|
|
3378
3415
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3379
3416
|
*/
|
|
3380
3417
|
class SidenavComponent extends BaseComponent {
|
|
3418
|
+
static rootElement = 'app-sidenav';
|
|
3419
|
+
personalFiles = this.getChild(`[data-automation-id='app.navbar.personalFiles']`);
|
|
3420
|
+
myLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.files']`);
|
|
3421
|
+
favoriteLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.favorite']`);
|
|
3422
|
+
shared = this.getChild(`[data-automation-id='app.navbar.shared']`);
|
|
3423
|
+
recentFiles = this.getChild(`[data-automation-id='app.navbar.recentFiles']`);
|
|
3424
|
+
favorites = this.getChild(`[data-automation-id='app.navbar.favorites']`);
|
|
3425
|
+
trash = this.getChild(`[data-automation-id='app.navbar.trashcan']`);
|
|
3426
|
+
sidenavToggle = this.getChild(`.aca-sidenav-header-title-logo`);
|
|
3427
|
+
sidenavExpand = this.page.getByTitle('Expand navigation menu');
|
|
3428
|
+
expandedSidenav = this.page.locator(`[data-automation-id='expanded']`);
|
|
3381
3429
|
constructor(page) {
|
|
3382
3430
|
super(page, SidenavComponent.rootElement);
|
|
3383
|
-
this.personalFiles = this.getChild(`[data-automation-id='app.navbar.personalFiles']`);
|
|
3384
|
-
this.myLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.files']`);
|
|
3385
|
-
this.favoriteLibraries = this.getChild(`[data-automation-id='app.navbar.libraries.favorite']`);
|
|
3386
|
-
this.shared = this.getChild(`[data-automation-id='app.navbar.shared']`);
|
|
3387
|
-
this.recentFiles = this.getChild(`[data-automation-id='app.navbar.recentFiles']`);
|
|
3388
|
-
this.favorites = this.getChild(`[data-automation-id='app.navbar.favorites']`);
|
|
3389
|
-
this.trash = this.getChild(`[data-automation-id='app.navbar.trashcan']`);
|
|
3390
|
-
this.sidenavToggle = this.getChild(`.aca-sidenav-header-title-logo`);
|
|
3391
|
-
this.sidenavExpand = this.page.getByTitle('Expand navigation menu');
|
|
3392
|
-
this.expandedSidenav = this.page.locator(`[data-automation-id='expanded']`);
|
|
3393
3431
|
}
|
|
3394
3432
|
async isActive(name) {
|
|
3395
3433
|
const cssClass = await this.getLinkLabel(name).getAttribute('class');
|
|
@@ -3419,6 +3457,7 @@ class SidenavComponent extends BaseComponent {
|
|
|
3419
3457
|
}
|
|
3420
3458
|
}
|
|
3421
3459
|
async isSidenavExpanded() {
|
|
3460
|
+
await this.page.waitForTimeout(timeouts.tiny);
|
|
3422
3461
|
return this.expandedSidenav.isVisible();
|
|
3423
3462
|
}
|
|
3424
3463
|
async expandSideNav() {
|
|
@@ -3436,7 +3475,6 @@ class SidenavComponent extends BaseComponent {
|
|
|
3436
3475
|
}
|
|
3437
3476
|
}
|
|
3438
3477
|
}
|
|
3439
|
-
SidenavComponent.rootElement = 'app-sidenav';
|
|
3440
3478
|
|
|
3441
3479
|
/*!
|
|
3442
3480
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3462,13 +3500,13 @@ SidenavComponent.rootElement = 'app-sidenav';
|
|
|
3462
3500
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3463
3501
|
*/
|
|
3464
3502
|
class ErrorComponent extends BaseComponent {
|
|
3503
|
+
static rootElement = 'aca-page-layout';
|
|
3504
|
+
genericError = this.getChild('aca-generic-error');
|
|
3505
|
+
genericErrorTitle = this.getChild('.generic-error__title');
|
|
3465
3506
|
constructor(page) {
|
|
3466
3507
|
super(page, ErrorComponent.rootElement);
|
|
3467
|
-
this.genericError = this.getChild('aca-generic-error');
|
|
3468
|
-
this.genericErrorTitle = this.getChild('.generic-error__title');
|
|
3469
3508
|
}
|
|
3470
3509
|
}
|
|
3471
|
-
ErrorComponent.rootElement = 'aca-page-layout';
|
|
3472
3510
|
|
|
3473
3511
|
/*!
|
|
3474
3512
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3518,6 +3556,10 @@ ErrorComponent.rootElement = 'aca-page-layout';
|
|
|
3518
3556
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3519
3557
|
*/
|
|
3520
3558
|
class BasePage extends PlaywrightBase {
|
|
3559
|
+
pageUrl;
|
|
3560
|
+
urlRequest;
|
|
3561
|
+
snackBar;
|
|
3562
|
+
spinner;
|
|
3521
3563
|
constructor(page, pageUrl, urlRequest) {
|
|
3522
3564
|
super(page);
|
|
3523
3565
|
this.pageUrl = pageUrl;
|
|
@@ -3596,15 +3638,16 @@ class BasePage extends PlaywrightBase {
|
|
|
3596
3638
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3597
3639
|
*/
|
|
3598
3640
|
class LoginPage extends BasePage {
|
|
3641
|
+
static pageUrl = 'login';
|
|
3599
3642
|
constructor(page) {
|
|
3600
3643
|
super(page, LoginPage.pageUrl);
|
|
3601
|
-
this.username = this.page.locator('#username');
|
|
3602
|
-
this.password = this.page.locator('#password');
|
|
3603
|
-
this.submitButton = this.page.locator('#login-button');
|
|
3604
|
-
this.userProfileButton = this.page.locator('aca-user-menu button');
|
|
3605
|
-
this.userLogOutButton = this.page.locator('aca-logout button');
|
|
3606
|
-
this.passwordVisibility = this.page.locator('.adf-login-password-icon');
|
|
3607
3644
|
}
|
|
3645
|
+
username = this.page.locator('#username');
|
|
3646
|
+
password = this.page.locator('#password');
|
|
3647
|
+
submitButton = this.page.locator('#login-button');
|
|
3648
|
+
userProfileButton = this.page.locator('aca-user-menu button');
|
|
3649
|
+
userLogOutButton = this.page.locator('aca-logout button');
|
|
3650
|
+
passwordVisibility = this.page.locator('.adf-login-password-icon');
|
|
3608
3651
|
async loginUser(userData, options) {
|
|
3609
3652
|
if (options?.withNavigation) {
|
|
3610
3653
|
await this.navigate();
|
|
@@ -3630,7 +3673,6 @@ class LoginPage extends BasePage {
|
|
|
3630
3673
|
}
|
|
3631
3674
|
}
|
|
3632
3675
|
}
|
|
3633
|
-
LoginPage.pageUrl = 'login';
|
|
3634
3676
|
|
|
3635
3677
|
/*!
|
|
3636
3678
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3656,18 +3698,18 @@ LoginPage.pageUrl = 'login';
|
|
|
3656
3698
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3657
3699
|
*/
|
|
3658
3700
|
class NodesPage extends BasePage {
|
|
3701
|
+
static pageUrl = 'nodes';
|
|
3659
3702
|
constructor(page) {
|
|
3660
3703
|
super(page, NodesPage.pageUrl);
|
|
3661
|
-
this.toolbar = new ToolbarComponent(this.page);
|
|
3662
|
-
this.manageRulesDialog = new ManageRulesDialogComponent(this.page);
|
|
3663
|
-
this.actionsDropdown = new ActionsDropdownComponent(this.page);
|
|
3664
|
-
this.conditionsDropdown = new ConditionComponent(this.page);
|
|
3665
|
-
this.manageRules = new ManageRules(this.page);
|
|
3666
|
-
this.contentNodeSelectorDialog = new ContentNodeSelectorDialog(this.page);
|
|
3667
|
-
this.linkRulesDialog = new LinkRulesDialog(this.page);
|
|
3668
3704
|
}
|
|
3705
|
+
toolbar = new ToolbarComponent(this.page);
|
|
3706
|
+
manageRulesDialog = new ManageRulesDialogComponent(this.page);
|
|
3707
|
+
actionsDropdown = new ActionsDropdownComponent(this.page);
|
|
3708
|
+
conditionsDropdown = new ConditionComponent(this.page);
|
|
3709
|
+
manageRules = new ManageRules(this.page);
|
|
3710
|
+
contentNodeSelectorDialog = new ContentNodeSelectorDialog(this.page);
|
|
3711
|
+
linkRulesDialog = new LinkRulesDialog(this.page);
|
|
3669
3712
|
}
|
|
3670
|
-
NodesPage.pageUrl = 'nodes';
|
|
3671
3713
|
|
|
3672
3714
|
/*!
|
|
3673
3715
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3693,30 +3735,31 @@ NodesPage.pageUrl = 'nodes';
|
|
|
3693
3735
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3694
3736
|
*/
|
|
3695
3737
|
class PersonalFilesPage extends BasePage {
|
|
3738
|
+
static pageUrl = 'personal-files';
|
|
3696
3739
|
constructor(page) {
|
|
3697
3740
|
super(page, PersonalFilesPage.pageUrl);
|
|
3698
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3699
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3700
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3701
|
-
this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3702
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3703
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3704
|
-
this.passwordDialog = new PasswordOverlayDialogComponent(this.page);
|
|
3705
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3706
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
3707
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3708
|
-
this.createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
|
3709
|
-
this.pagination = new PaginationComponent(this.page);
|
|
3710
|
-
this.errorDialog = new ErrorComponent(this.page);
|
|
3711
|
-
this.shareDialog = new ShareDialogComponent(this.page);
|
|
3712
|
-
this.confirmDialog = new AdfConfirmDialogComponent(this.page);
|
|
3713
|
-
this.infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3714
|
-
this.uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
|
3715
|
-
this.manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3716
|
-
this.uploadDialog = new UploadDialog(this.page);
|
|
3717
|
-
this.snackBar = new SnackBarComponent(this.page);
|
|
3718
|
-
this.editDialog = new EditDialog(this.page);
|
|
3719
3741
|
}
|
|
3742
|
+
acaHeader = new AcaHeader(this.page);
|
|
3743
|
+
matMenu = new MatMenuComponent(this.page);
|
|
3744
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3745
|
+
contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3746
|
+
dataTable = new DataTableComponent(this.page);
|
|
3747
|
+
viewer = new ViewerComponent(this.page);
|
|
3748
|
+
passwordDialog = new PasswordOverlayDialogComponent(this.page);
|
|
3749
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3750
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
3751
|
+
sidenav = new SidenavComponent(this.page);
|
|
3752
|
+
createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
|
3753
|
+
pagination = new PaginationComponent(this.page);
|
|
3754
|
+
errorDialog = new ErrorComponent(this.page);
|
|
3755
|
+
shareDialog = new ShareDialogComponent(this.page);
|
|
3756
|
+
confirmDialog = new AdfConfirmDialogComponent(this.page);
|
|
3757
|
+
infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3758
|
+
uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
|
3759
|
+
manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3760
|
+
uploadDialog = new UploadDialog(this.page);
|
|
3761
|
+
snackBar = new SnackBarComponent(this.page);
|
|
3762
|
+
editDialog = new EditDialog(this.page);
|
|
3720
3763
|
async selectCreateFolder() {
|
|
3721
3764
|
await this.acaHeader.createButton.click();
|
|
3722
3765
|
await this.matMenu.createFolder.click();
|
|
@@ -3749,7 +3792,6 @@ class PersonalFilesPage extends BasePage {
|
|
|
3749
3792
|
await this.matMenu.clickMenuItem(action);
|
|
3750
3793
|
}
|
|
3751
3794
|
}
|
|
3752
|
-
PersonalFilesPage.pageUrl = 'personal-files';
|
|
3753
3795
|
|
|
3754
3796
|
/*!
|
|
3755
3797
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3775,22 +3817,23 @@ PersonalFilesPage.pageUrl = 'personal-files';
|
|
|
3775
3817
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3776
3818
|
*/
|
|
3777
3819
|
class MyLibrariesPage extends BasePage {
|
|
3820
|
+
static pageUrl = 'libraries';
|
|
3778
3821
|
constructor(page) {
|
|
3779
3822
|
super(page, MyLibrariesPage.pageUrl);
|
|
3780
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3781
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3782
|
-
this.libraryDialog = new AdfLibraryDialogComponent(this.page);
|
|
3783
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3784
|
-
this.libraryDetails = new AdfInfoDrawerComponent(this.page);
|
|
3785
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3786
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3787
|
-
this.copyMoveDialog = new ContentNodeSelectorDialog(this.page);
|
|
3788
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
3789
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3790
|
-
this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3791
|
-
this.createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
|
3792
|
-
this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
3793
3823
|
}
|
|
3824
|
+
acaHeader = new AcaHeader(this.page);
|
|
3825
|
+
matMenu = new MatMenuComponent(this.page);
|
|
3826
|
+
libraryDialog = new AdfLibraryDialogComponent(this.page);
|
|
3827
|
+
dataTable = new DataTableComponent(this.page);
|
|
3828
|
+
libraryDetails = new AdfInfoDrawerComponent(this.page);
|
|
3829
|
+
viewer = new ViewerComponent(this.page);
|
|
3830
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3831
|
+
copyMoveDialog = new ContentNodeSelectorDialog(this.page);
|
|
3832
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
3833
|
+
sidenav = new SidenavComponent(this.page);
|
|
3834
|
+
contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3835
|
+
createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
|
3836
|
+
confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
3794
3837
|
async selectCreateLibrary() {
|
|
3795
3838
|
await this.acaHeader.createButton.click();
|
|
3796
3839
|
await this.matMenu.createLibrary.click();
|
|
@@ -3800,7 +3843,6 @@ class MyLibrariesPage extends BasePage {
|
|
|
3800
3843
|
await this.matMenu.clickMenuItem(buttonLabel);
|
|
3801
3844
|
}
|
|
3802
3845
|
}
|
|
3803
|
-
MyLibrariesPage.pageUrl = 'libraries';
|
|
3804
3846
|
|
|
3805
3847
|
/*!
|
|
3806
3848
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3826,21 +3868,21 @@ MyLibrariesPage.pageUrl = 'libraries';
|
|
|
3826
3868
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3827
3869
|
*/
|
|
3828
3870
|
class RecentFilesPage extends BasePage {
|
|
3871
|
+
static pageUrl = 'recent-files';
|
|
3829
3872
|
constructor(page) {
|
|
3830
3873
|
super(page, RecentFilesPage.pageUrl);
|
|
3831
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3832
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3833
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3834
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3835
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3836
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3837
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
3838
|
-
this.infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3839
|
-
this.contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3840
|
-
this.manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3841
3874
|
}
|
|
3875
|
+
acaHeader = new AcaHeader(this.page);
|
|
3876
|
+
matMenu = new MatMenuComponent(this.page);
|
|
3877
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3878
|
+
dataTable = new DataTableComponent(this.page);
|
|
3879
|
+
viewer = new ViewerComponent(this.page);
|
|
3880
|
+
sidenav = new SidenavComponent(this.page);
|
|
3881
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
3882
|
+
infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3883
|
+
contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
|
3884
|
+
manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3842
3885
|
}
|
|
3843
|
-
RecentFilesPage.pageUrl = 'recent-files';
|
|
3844
3886
|
|
|
3845
3887
|
/*!
|
|
3846
3888
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3866,21 +3908,21 @@ RecentFilesPage.pageUrl = 'recent-files';
|
|
|
3866
3908
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3867
3909
|
*/
|
|
3868
3910
|
class SharedPage extends BasePage {
|
|
3911
|
+
static pageUrl = 'shared';
|
|
3869
3912
|
constructor(page) {
|
|
3870
3913
|
super(page, SharedPage.pageUrl);
|
|
3871
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3872
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3873
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3874
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3875
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3876
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3877
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3878
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
3879
|
-
this.infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3880
|
-
this.manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3881
3914
|
}
|
|
3915
|
+
acaHeader = new AcaHeader(this.page);
|
|
3916
|
+
matMenu = new MatMenuComponent(this.page);
|
|
3917
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3918
|
+
dataTable = new DataTableComponent(this.page);
|
|
3919
|
+
viewer = new ViewerComponent(this.page);
|
|
3920
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3921
|
+
sidenav = new SidenavComponent(this.page);
|
|
3922
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
3923
|
+
infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3924
|
+
manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3882
3925
|
}
|
|
3883
|
-
SharedPage.pageUrl = 'shared';
|
|
3884
3926
|
|
|
3885
3927
|
/*!
|
|
3886
3928
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3906,28 +3948,29 @@ SharedPage.pageUrl = 'shared';
|
|
|
3906
3948
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3907
3949
|
*/
|
|
3908
3950
|
class SearchPage extends BasePage {
|
|
3951
|
+
static pageUrl = 'search';
|
|
3909
3952
|
constructor(page) {
|
|
3910
3953
|
super(page, SearchPage.pageUrl);
|
|
3911
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3912
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3913
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3914
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3915
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3916
|
-
this.searchInput = new SearchInputComponent(this.page);
|
|
3917
|
-
this.searchOverlay = new SearchOverlayComponent(this.page);
|
|
3918
|
-
this.searchSortingPicker = new SearchSortingPicker(this.page);
|
|
3919
|
-
this.searchFilters = new SearchFilters(this.page);
|
|
3920
|
-
this.searchFiltersTags = new SearchFiltersTags(this.page);
|
|
3921
|
-
this.searchFiltersCategories = new SearchFiltersCategories(this.page);
|
|
3922
|
-
this.searchFiltersDate = new SearchFiltersDate(this.page);
|
|
3923
|
-
this.searchFiltersLocation = new SearchFiltersLocation(this.page);
|
|
3924
|
-
this.searchFiltersProperties = new SearchFiltersProperties(this.page);
|
|
3925
|
-
this.searchFiltersLogic = new SearchFiltersLogic(this.page);
|
|
3926
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3927
|
-
this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
3928
|
-
this.uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
|
3929
|
-
this.manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3930
3954
|
}
|
|
3955
|
+
acaHeader = new AcaHeader(this.page);
|
|
3956
|
+
matMenu = new MatMenuComponent(this.page);
|
|
3957
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3958
|
+
dataTable = new DataTableComponent(this.page);
|
|
3959
|
+
viewer = new ViewerComponent(this.page);
|
|
3960
|
+
searchInput = new SearchInputComponent(this.page);
|
|
3961
|
+
searchOverlay = new SearchOverlayComponent(this.page);
|
|
3962
|
+
searchSortingPicker = new SearchSortingPicker(this.page);
|
|
3963
|
+
searchFilters = new SearchFilters(this.page);
|
|
3964
|
+
searchFiltersTags = new SearchFiltersTags(this.page);
|
|
3965
|
+
searchFiltersCategories = new SearchFiltersCategories(this.page);
|
|
3966
|
+
searchFiltersDate = new SearchFiltersDate(this.page);
|
|
3967
|
+
searchFiltersLocation = new SearchFiltersLocation(this.page);
|
|
3968
|
+
searchFiltersProperties = new SearchFiltersProperties(this.page);
|
|
3969
|
+
searchFiltersLogic = new SearchFiltersLogic(this.page);
|
|
3970
|
+
sidenav = new SidenavComponent(this.page);
|
|
3971
|
+
confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
3972
|
+
uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
|
3973
|
+
manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3931
3974
|
async searchWithin(searchText, searchType) {
|
|
3932
3975
|
await this.acaHeader.searchButton.click();
|
|
3933
3976
|
await this.clickSearchButton();
|
|
@@ -3954,7 +3997,6 @@ class SearchPage extends BasePage {
|
|
|
3954
3997
|
await this.searchInput.searchButton.click({ force: true });
|
|
3955
3998
|
}
|
|
3956
3999
|
}
|
|
3957
|
-
SearchPage.pageUrl = 'search';
|
|
3958
4000
|
|
|
3959
4001
|
/*!
|
|
3960
4002
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -3980,25 +4022,25 @@ SearchPage.pageUrl = 'search';
|
|
|
3980
4022
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
3981
4023
|
*/
|
|
3982
4024
|
class FavoritesPage extends BasePage {
|
|
4025
|
+
static pageUrl = 'favorites';
|
|
3983
4026
|
constructor(page) {
|
|
3984
4027
|
super(page, FavoritesPage.pageUrl);
|
|
3985
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
3986
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
3987
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
3988
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
3989
|
-
this.viewer = new ViewerComponent(this.page);
|
|
3990
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
3991
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
3992
|
-
this.pagination = new PaginationComponent(this.page);
|
|
3993
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
3994
|
-
this.infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
3995
|
-
this.manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3996
4028
|
}
|
|
4029
|
+
acaHeader = new AcaHeader(this.page);
|
|
4030
|
+
matMenu = new MatMenuComponent(this.page);
|
|
4031
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
4032
|
+
dataTable = new DataTableComponent(this.page);
|
|
4033
|
+
viewer = new ViewerComponent(this.page);
|
|
4034
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
4035
|
+
sidenav = new SidenavComponent(this.page);
|
|
4036
|
+
pagination = new PaginationComponent(this.page);
|
|
4037
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
4038
|
+
infoDrawer = new AdfInfoDrawerComponent(this.page);
|
|
4039
|
+
manageVersionsDialog = new ManageVersionsDialog(this.page);
|
|
3997
4040
|
async waitForPageLoad() {
|
|
3998
4041
|
await this.page.waitForURL(`**/${FavoritesPage.pageUrl}`);
|
|
3999
4042
|
}
|
|
4000
4043
|
}
|
|
4001
|
-
FavoritesPage.pageUrl = 'favorites';
|
|
4002
4044
|
|
|
4003
4045
|
/*!
|
|
4004
4046
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -4024,21 +4066,21 @@ FavoritesPage.pageUrl = 'favorites';
|
|
|
4024
4066
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4025
4067
|
*/
|
|
4026
4068
|
class TrashPage extends BasePage {
|
|
4069
|
+
static pageUrl = 'trashcan';
|
|
4027
4070
|
constructor(page) {
|
|
4028
4071
|
super(page, TrashPage.pageUrl);
|
|
4029
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
4030
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
4031
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
4032
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
4033
|
-
this.viewer = new ViewerComponent(this.page);
|
|
4034
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
4035
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
4036
|
-
this.breadcrumb = new Breadcrumb(this.page);
|
|
4037
|
-
this.pagination = new PaginationComponent(this.page);
|
|
4038
|
-
this.deleteDialog = new AdfDeleteTrashComponent(this.page);
|
|
4039
4072
|
}
|
|
4073
|
+
acaHeader = new AcaHeader(this.page);
|
|
4074
|
+
matMenu = new MatMenuComponent(this.page);
|
|
4075
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
4076
|
+
dataTable = new DataTableComponent(this.page);
|
|
4077
|
+
viewer = new ViewerComponent(this.page);
|
|
4078
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
4079
|
+
sidenav = new SidenavComponent(this.page);
|
|
4080
|
+
breadcrumb = new Breadcrumb(this.page);
|
|
4081
|
+
pagination = new PaginationComponent(this.page);
|
|
4082
|
+
deleteDialog = new AdfDeleteTrashComponent(this.page);
|
|
4040
4083
|
}
|
|
4041
|
-
TrashPage.pageUrl = 'trashcan';
|
|
4042
4084
|
|
|
4043
4085
|
/*!
|
|
4044
4086
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -4064,19 +4106,19 @@ TrashPage.pageUrl = 'trashcan';
|
|
|
4064
4106
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4065
4107
|
*/
|
|
4066
4108
|
class FavoritesLibrariesPage extends BasePage {
|
|
4109
|
+
static pageUrl = 'favorite/libraries';
|
|
4067
4110
|
constructor(page) {
|
|
4068
4111
|
super(page, FavoritesLibrariesPage.pageUrl);
|
|
4069
|
-
this.acaHeader = new AcaHeader(this.page);
|
|
4070
|
-
this.matMenu = new MatMenuComponent(this.page);
|
|
4071
|
-
this.folderDialog = new AdfFolderDialogComponent(this.page);
|
|
4072
|
-
this.dataTable = new DataTableComponent(this.page);
|
|
4073
|
-
this.viewer = new ViewerComponent(this.page);
|
|
4074
|
-
this.viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
4075
|
-
this.sidenav = new SidenavComponent(this.page);
|
|
4076
|
-
this.confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
4077
4112
|
}
|
|
4113
|
+
acaHeader = new AcaHeader(this.page);
|
|
4114
|
+
matMenu = new MatMenuComponent(this.page);
|
|
4115
|
+
folderDialog = new AdfFolderDialogComponent(this.page);
|
|
4116
|
+
dataTable = new DataTableComponent(this.page);
|
|
4117
|
+
viewer = new ViewerComponent(this.page);
|
|
4118
|
+
viewerDialog = new ViewerOverlayDialogComponent(this.page);
|
|
4119
|
+
sidenav = new SidenavComponent(this.page);
|
|
4120
|
+
confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
|
4078
4121
|
}
|
|
4079
|
-
FavoritesLibrariesPage.pageUrl = 'favorite/libraries';
|
|
4080
4122
|
|
|
4081
4123
|
/*!
|
|
4082
4124
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -4392,6 +4434,13 @@ const getGlobalConfig = {
|
|
|
4392
4434
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4393
4435
|
*/
|
|
4394
4436
|
class Person {
|
|
4437
|
+
id;
|
|
4438
|
+
password;
|
|
4439
|
+
firstName;
|
|
4440
|
+
lastName;
|
|
4441
|
+
email;
|
|
4442
|
+
enabled;
|
|
4443
|
+
properties;
|
|
4395
4444
|
constructor(user) {
|
|
4396
4445
|
this.id = user.username;
|
|
4397
4446
|
this.password = user.password || user.username;
|
|
@@ -4434,6 +4483,26 @@ const config = {
|
|
|
4434
4483
|
contextRoot: 'alfresco'
|
|
4435
4484
|
};
|
|
4436
4485
|
class ApiClientFactory {
|
|
4486
|
+
alfrescoApi;
|
|
4487
|
+
sites;
|
|
4488
|
+
upload;
|
|
4489
|
+
nodes;
|
|
4490
|
+
people;
|
|
4491
|
+
adminUsers;
|
|
4492
|
+
adminTenant;
|
|
4493
|
+
groups;
|
|
4494
|
+
queries;
|
|
4495
|
+
search;
|
|
4496
|
+
securityGroupsApi;
|
|
4497
|
+
securityMarksApi;
|
|
4498
|
+
contentClient;
|
|
4499
|
+
share;
|
|
4500
|
+
favorites;
|
|
4501
|
+
trashCan;
|
|
4502
|
+
commentsApi;
|
|
4503
|
+
queriesApi;
|
|
4504
|
+
categoriesApi;
|
|
4505
|
+
tagsApi;
|
|
4437
4506
|
constructor() {
|
|
4438
4507
|
this.alfrescoApi = new AlfrescoApi(config);
|
|
4439
4508
|
}
|
|
@@ -4534,6 +4603,7 @@ class ApiClientFactory {
|
|
|
4534
4603
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4535
4604
|
*/
|
|
4536
4605
|
class RulesApi {
|
|
4606
|
+
apiService;
|
|
4537
4607
|
constructor() {
|
|
4538
4608
|
this.apiService = new ApiClientFactory();
|
|
4539
4609
|
}
|
|
@@ -4672,92 +4742,96 @@ class RulesApi {
|
|
|
4672
4742
|
}
|
|
4673
4743
|
}
|
|
4674
4744
|
class ActionTypes {
|
|
4745
|
+
key;
|
|
4746
|
+
value;
|
|
4747
|
+
static ADDFEATURES = new ActionTypes('ADDFEATURES', {
|
|
4748
|
+
actionDefinitionId: 'add-features',
|
|
4749
|
+
params: { 'aspect-name': 'cm:thumbnailed' }
|
|
4750
|
+
});
|
|
4751
|
+
static CHECKIN = new ActionTypes('CHECKIN', {
|
|
4752
|
+
actionDefinitionId: 'check-in',
|
|
4753
|
+
params: {
|
|
4754
|
+
description: 'test',
|
|
4755
|
+
minorChange: true
|
|
4756
|
+
}
|
|
4757
|
+
});
|
|
4758
|
+
static SPECIALISETYPE = new ActionTypes('SPECIALISETYPE', {
|
|
4759
|
+
actionDefinitionId: 'specialise-type',
|
|
4760
|
+
params: { 'type-name': 'sys:base' }
|
|
4761
|
+
});
|
|
4762
|
+
static RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
|
|
4763
|
+
actionDefinitionId: 'recordable-version-config',
|
|
4764
|
+
params: { version: 'ALL' }
|
|
4765
|
+
});
|
|
4766
|
+
static SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
|
|
4767
|
+
actionDefinitionId: 'set-property-value',
|
|
4768
|
+
params: { property: 'dl:ganttPercentComplete', value: 'test' }
|
|
4769
|
+
});
|
|
4770
|
+
static actions = [
|
|
4771
|
+
ActionTypes.ADDFEATURES.value,
|
|
4772
|
+
ActionTypes.CHECKIN.value,
|
|
4773
|
+
ActionTypes.RECORDABLEVERSION.value,
|
|
4774
|
+
ActionTypes.SPECIALISETYPE.value,
|
|
4775
|
+
ActionTypes.SETPROPERTYVALUE.value
|
|
4776
|
+
];
|
|
4675
4777
|
constructor(key, value) {
|
|
4676
4778
|
this.key = key;
|
|
4677
4779
|
this.value = value;
|
|
4678
4780
|
}
|
|
4679
4781
|
}
|
|
4680
|
-
ActionTypes.ADDFEATURES = new ActionTypes('ADDFEATURES', {
|
|
4681
|
-
actionDefinitionId: 'add-features',
|
|
4682
|
-
params: { 'aspect-name': 'cm:thumbnailed' }
|
|
4683
|
-
});
|
|
4684
|
-
ActionTypes.CHECKIN = new ActionTypes('CHECKIN', {
|
|
4685
|
-
actionDefinitionId: 'check-in',
|
|
4686
|
-
params: {
|
|
4687
|
-
description: 'test',
|
|
4688
|
-
minorChange: true
|
|
4689
|
-
}
|
|
4690
|
-
});
|
|
4691
|
-
ActionTypes.SPECIALISETYPE = new ActionTypes('SPECIALISETYPE', {
|
|
4692
|
-
actionDefinitionId: 'specialise-type',
|
|
4693
|
-
params: { 'type-name': 'sys:base' }
|
|
4694
|
-
});
|
|
4695
|
-
ActionTypes.RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
|
|
4696
|
-
actionDefinitionId: 'recordable-version-config',
|
|
4697
|
-
params: { version: 'ALL' }
|
|
4698
|
-
});
|
|
4699
|
-
ActionTypes.SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
|
|
4700
|
-
actionDefinitionId: 'set-property-value',
|
|
4701
|
-
params: { property: 'dl:ganttPercentComplete', value: 'test' }
|
|
4702
|
-
});
|
|
4703
|
-
ActionTypes.actions = [
|
|
4704
|
-
ActionTypes.ADDFEATURES.value,
|
|
4705
|
-
ActionTypes.CHECKIN.value,
|
|
4706
|
-
ActionTypes.RECORDABLEVERSION.value,
|
|
4707
|
-
ActionTypes.SPECIALISETYPE.value,
|
|
4708
|
-
ActionTypes.SETPROPERTYVALUE.value
|
|
4709
|
-
];
|
|
4710
4782
|
class ConditionsTypes {
|
|
4783
|
+
key;
|
|
4784
|
+
value;
|
|
4785
|
+
static MIMETYPE = new ConditionsTypes('MIMETYPE', {
|
|
4786
|
+
inverted: false,
|
|
4787
|
+
booleanMode: 'and',
|
|
4788
|
+
simpleConditions: [
|
|
4789
|
+
{
|
|
4790
|
+
field: 'mimetype',
|
|
4791
|
+
comparator: 'equals',
|
|
4792
|
+
parameter: 'video/3gpp'
|
|
4793
|
+
}
|
|
4794
|
+
]
|
|
4795
|
+
});
|
|
4796
|
+
static CMNAME = new ConditionsTypes('CM:NAME', {
|
|
4797
|
+
inverted: false,
|
|
4798
|
+
booleanMode: 'and',
|
|
4799
|
+
simpleConditions: [
|
|
4800
|
+
{
|
|
4801
|
+
field: 'cm:name',
|
|
4802
|
+
comparator: 'equals',
|
|
4803
|
+
parameter: 'testname'
|
|
4804
|
+
}
|
|
4805
|
+
]
|
|
4806
|
+
});
|
|
4807
|
+
static SIZE = new ConditionsTypes('SIZE', {
|
|
4808
|
+
inverted: false,
|
|
4809
|
+
booleanMode: 'and',
|
|
4810
|
+
simpleConditions: [
|
|
4811
|
+
{
|
|
4812
|
+
field: 'size',
|
|
4813
|
+
comparator: 'equals',
|
|
4814
|
+
parameter: '345'
|
|
4815
|
+
}
|
|
4816
|
+
]
|
|
4817
|
+
});
|
|
4818
|
+
static TAG = new ConditionsTypes('TAG', {
|
|
4819
|
+
inverted: false,
|
|
4820
|
+
booleanMode: 'and',
|
|
4821
|
+
simpleConditions: [
|
|
4822
|
+
{
|
|
4823
|
+
field: 'tag',
|
|
4824
|
+
comparator: 'equals',
|
|
4825
|
+
parameter: 'testtag'
|
|
4826
|
+
}
|
|
4827
|
+
]
|
|
4828
|
+
});
|
|
4829
|
+
static conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CMNAME.value, ConditionsTypes.SIZE.value, ConditionsTypes.TAG.value];
|
|
4711
4830
|
constructor(key, value) {
|
|
4712
4831
|
this.key = key;
|
|
4713
4832
|
this.value = value;
|
|
4714
4833
|
}
|
|
4715
4834
|
}
|
|
4716
|
-
ConditionsTypes.MIMETYPE = new ConditionsTypes('MIMETYPE', {
|
|
4717
|
-
inverted: false,
|
|
4718
|
-
booleanMode: 'and',
|
|
4719
|
-
simpleConditions: [
|
|
4720
|
-
{
|
|
4721
|
-
field: 'mimetype',
|
|
4722
|
-
comparator: 'equals',
|
|
4723
|
-
parameter: 'video/3gpp'
|
|
4724
|
-
}
|
|
4725
|
-
]
|
|
4726
|
-
});
|
|
4727
|
-
ConditionsTypes.CMNAME = new ConditionsTypes('CM:NAME', {
|
|
4728
|
-
inverted: false,
|
|
4729
|
-
booleanMode: 'and',
|
|
4730
|
-
simpleConditions: [
|
|
4731
|
-
{
|
|
4732
|
-
field: 'cm:name',
|
|
4733
|
-
comparator: 'equals',
|
|
4734
|
-
parameter: 'testname'
|
|
4735
|
-
}
|
|
4736
|
-
]
|
|
4737
|
-
});
|
|
4738
|
-
ConditionsTypes.SIZE = new ConditionsTypes('SIZE', {
|
|
4739
|
-
inverted: false,
|
|
4740
|
-
booleanMode: 'and',
|
|
4741
|
-
simpleConditions: [
|
|
4742
|
-
{
|
|
4743
|
-
field: 'size',
|
|
4744
|
-
comparator: 'equals',
|
|
4745
|
-
parameter: '345'
|
|
4746
|
-
}
|
|
4747
|
-
]
|
|
4748
|
-
});
|
|
4749
|
-
ConditionsTypes.TAG = new ConditionsTypes('TAG', {
|
|
4750
|
-
inverted: false,
|
|
4751
|
-
booleanMode: 'and',
|
|
4752
|
-
simpleConditions: [
|
|
4753
|
-
{
|
|
4754
|
-
field: 'tag',
|
|
4755
|
-
comparator: 'equals',
|
|
4756
|
-
parameter: 'testtag'
|
|
4757
|
-
}
|
|
4758
|
-
]
|
|
4759
|
-
});
|
|
4760
|
-
ConditionsTypes.conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CMNAME.value, ConditionsTypes.SIZE.value, ConditionsTypes.TAG.value];
|
|
4761
4835
|
|
|
4762
4836
|
/*!
|
|
4763
4837
|
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -4783,6 +4857,7 @@ ConditionsTypes.conditions = [ConditionsTypes.MIMETYPE.value, ConditionsTypes.CM
|
|
|
4783
4857
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4784
4858
|
*/
|
|
4785
4859
|
class FileActionsApi {
|
|
4860
|
+
apiService;
|
|
4786
4861
|
constructor() {
|
|
4787
4862
|
this.apiService = new ApiClientFactory();
|
|
4788
4863
|
}
|
|
@@ -4868,7 +4943,7 @@ class FileActionsApi {
|
|
|
4868
4943
|
return Promise.resolve(isLocked);
|
|
4869
4944
|
}
|
|
4870
4945
|
};
|
|
4871
|
-
return Utils.retryCall(locked, data.retry);
|
|
4946
|
+
return await Utils.retryCall(locked, data.retry);
|
|
4872
4947
|
}
|
|
4873
4948
|
catch { }
|
|
4874
4949
|
return isLocked;
|
|
@@ -4945,6 +5020,7 @@ class FileActionsApi {
|
|
|
4945
5020
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
4946
5021
|
*/
|
|
4947
5022
|
class SharedLinksApi {
|
|
5023
|
+
apiService;
|
|
4948
5024
|
constructor() {
|
|
4949
5025
|
this.apiService = new ApiClientFactory();
|
|
4950
5026
|
}
|
|
@@ -5004,7 +5080,7 @@ class SharedLinksApi {
|
|
|
5004
5080
|
return Promise.reject(foundItems);
|
|
5005
5081
|
}
|
|
5006
5082
|
};
|
|
5007
|
-
return Utils.retryCall(sharedFile);
|
|
5083
|
+
return await Utils.retryCall(sharedFile);
|
|
5008
5084
|
}
|
|
5009
5085
|
catch (error) {
|
|
5010
5086
|
console.error(`SharedLinksApi waitForFilesToBeShared : catch : ${error}`);
|
|
@@ -5045,7 +5121,7 @@ class SharedLinksApi {
|
|
|
5045
5121
|
return Promise.resolve(foundItems);
|
|
5046
5122
|
}
|
|
5047
5123
|
};
|
|
5048
|
-
return Utils.retryCall(sharedFile);
|
|
5124
|
+
return await Utils.retryCall(sharedFile);
|
|
5049
5125
|
}
|
|
5050
5126
|
catch (error) {
|
|
5051
5127
|
console.error(`SharedLinksApi waitForFilesToNotBeShared : catch : ${error}`);
|
|
@@ -5078,6 +5154,7 @@ class SharedLinksApi {
|
|
|
5078
5154
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5079
5155
|
*/
|
|
5080
5156
|
class FavoritesPageApi {
|
|
5157
|
+
apiService;
|
|
5081
5158
|
constructor() {
|
|
5082
5159
|
this.apiService = new ApiClientFactory();
|
|
5083
5160
|
}
|
|
@@ -5138,7 +5215,7 @@ class FavoritesPageApi {
|
|
|
5138
5215
|
return Promise.resolve(isFavorite);
|
|
5139
5216
|
}
|
|
5140
5217
|
};
|
|
5141
|
-
return Utils.retryCall(favorite);
|
|
5218
|
+
return await Utils.retryCall(favorite);
|
|
5142
5219
|
}
|
|
5143
5220
|
catch (error) { }
|
|
5144
5221
|
return isFavorite;
|
|
@@ -5162,7 +5239,7 @@ class FavoritesPageApi {
|
|
|
5162
5239
|
return Promise.resolve(totalItems);
|
|
5163
5240
|
}
|
|
5164
5241
|
};
|
|
5165
|
-
return Utils.retryCall(favoriteFiles);
|
|
5242
|
+
return await Utils.retryCall(favoriteFiles);
|
|
5166
5243
|
}
|
|
5167
5244
|
catch { }
|
|
5168
5245
|
}
|
|
@@ -5271,6 +5348,7 @@ function flattenNodeContentTree(content, relativePath = '/') {
|
|
|
5271
5348
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5272
5349
|
*/
|
|
5273
5350
|
class NodesApi {
|
|
5351
|
+
apiService;
|
|
5274
5352
|
constructor() {
|
|
5275
5353
|
this.apiService = new ApiClientFactory();
|
|
5276
5354
|
}
|
|
@@ -5281,7 +5359,7 @@ class NodesApi {
|
|
|
5281
5359
|
}
|
|
5282
5360
|
async createFolder(name, parentId = '-my-', title = '', description = '', author = '', aspectNames = null) {
|
|
5283
5361
|
try {
|
|
5284
|
-
return this.createNode('cm:folder', name, parentId, title, description, null, author, null, aspectNames);
|
|
5362
|
+
return await this.createNode('cm:folder', name, parentId, title, description, null, author, null, aspectNames);
|
|
5285
5363
|
}
|
|
5286
5364
|
catch (error) {
|
|
5287
5365
|
console.error(`${this.constructor.name} ${this.createFolder.name}`, error);
|
|
@@ -5290,7 +5368,7 @@ class NodesApi {
|
|
|
5290
5368
|
}
|
|
5291
5369
|
async createFile(name, parentId = '-my-', title = '', description = '', author = '', majorVersion = true, aspectNames = null) {
|
|
5292
5370
|
try {
|
|
5293
|
-
return this.createNode('cm:content', name, parentId, title, description, null, author, majorVersion, aspectNames);
|
|
5371
|
+
return await this.createNode('cm:content', name, parentId, title, description, null, author, majorVersion, aspectNames);
|
|
5294
5372
|
}
|
|
5295
5373
|
catch (error) {
|
|
5296
5374
|
console.error(`${this.constructor.name} ${this.createFile.name}`, error);
|
|
@@ -5299,7 +5377,7 @@ class NodesApi {
|
|
|
5299
5377
|
}
|
|
5300
5378
|
async createFiles(names, relativePath = '/') {
|
|
5301
5379
|
try {
|
|
5302
|
-
return this.createContent({ files: names }, relativePath);
|
|
5380
|
+
return await this.createContent({ files: names }, relativePath);
|
|
5303
5381
|
}
|
|
5304
5382
|
catch (error) {
|
|
5305
5383
|
console.error(`${this.constructor.name} ${this.createFiles.name}: ${error}`);
|
|
@@ -5308,7 +5386,7 @@ class NodesApi {
|
|
|
5308
5386
|
}
|
|
5309
5387
|
async createFolders(names, relativePath = '/') {
|
|
5310
5388
|
try {
|
|
5311
|
-
return this.createContent({ folders: names }, relativePath);
|
|
5389
|
+
return await this.createContent({ folders: names }, relativePath);
|
|
5312
5390
|
}
|
|
5313
5391
|
catch (error) {
|
|
5314
5392
|
console.error(`${this.constructor.name} ${this.createFolders.name}: ${error}`);
|
|
@@ -5610,7 +5688,7 @@ class NodesApi {
|
|
|
5610
5688
|
}
|
|
5611
5689
|
}
|
|
5612
5690
|
async createLinkToFileName(originalFileName, originalFileParentId, destinationParentId) {
|
|
5613
|
-
destinationParentId
|
|
5691
|
+
destinationParentId ??= originalFileParentId;
|
|
5614
5692
|
try {
|
|
5615
5693
|
const nodeId = await this.getNodeIdFromParent(originalFileName, originalFileParentId);
|
|
5616
5694
|
return this.createFileLink(nodeId, destinationParentId);
|
|
@@ -5621,7 +5699,7 @@ class NodesApi {
|
|
|
5621
5699
|
}
|
|
5622
5700
|
}
|
|
5623
5701
|
async createLinkToFolderName(originalFolderName, originalFolderParentId, destinationParentId) {
|
|
5624
|
-
destinationParentId
|
|
5702
|
+
destinationParentId ??= originalFolderParentId;
|
|
5625
5703
|
try {
|
|
5626
5704
|
const nodeId = await this.getNodeIdFromParent(originalFolderName, originalFolderParentId);
|
|
5627
5705
|
return this.createFolderLink(nodeId, destinationParentId);
|
|
@@ -5696,6 +5774,7 @@ class NodesApi {
|
|
|
5696
5774
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5697
5775
|
*/
|
|
5698
5776
|
class SitesApi {
|
|
5777
|
+
apiService;
|
|
5699
5778
|
constructor() {
|
|
5700
5779
|
this.apiService = new ApiClientFactory();
|
|
5701
5780
|
}
|
|
@@ -5849,6 +5928,7 @@ class SitesApi {
|
|
|
5849
5928
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5850
5929
|
*/
|
|
5851
5930
|
class SearchPageApi {
|
|
5931
|
+
apiService;
|
|
5852
5932
|
constructor() {
|
|
5853
5933
|
this.apiService = new ApiClientFactory();
|
|
5854
5934
|
}
|
|
@@ -5890,7 +5970,7 @@ class SearchPageApi {
|
|
|
5890
5970
|
return Promise.resolve(totalItems);
|
|
5891
5971
|
}
|
|
5892
5972
|
};
|
|
5893
|
-
return Utils.retryCall(searchFiles);
|
|
5973
|
+
return await Utils.retryCall(searchFiles);
|
|
5894
5974
|
}
|
|
5895
5975
|
catch { }
|
|
5896
5976
|
}
|
|
@@ -5920,9 +6000,7 @@ class SearchPageApi {
|
|
|
5920
6000
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5921
6001
|
*/
|
|
5922
6002
|
class TrashcanApi {
|
|
5923
|
-
|
|
5924
|
-
this.apiService = new ApiClientFactory();
|
|
5925
|
-
}
|
|
6003
|
+
apiService = new ApiClientFactory();
|
|
5926
6004
|
static async initialize(userName, password) {
|
|
5927
6005
|
const classObj = new TrashcanApi();
|
|
5928
6006
|
await classObj.apiService.setUpAcaBackend(userName, password);
|
|
@@ -5973,6 +6051,7 @@ class TrashcanApi {
|
|
|
5973
6051
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
5974
6052
|
*/
|
|
5975
6053
|
class QueriesApi {
|
|
6054
|
+
apiService;
|
|
5976
6055
|
constructor() {
|
|
5977
6056
|
this.apiService = new ApiClientFactory();
|
|
5978
6057
|
}
|
|
@@ -5992,7 +6071,7 @@ class QueriesApi {
|
|
|
5992
6071
|
return Promise.resolve(totalItems);
|
|
5993
6072
|
}
|
|
5994
6073
|
};
|
|
5995
|
-
return Utils.retryCall(sites);
|
|
6074
|
+
return await Utils.retryCall(sites);
|
|
5996
6075
|
}
|
|
5997
6076
|
catch (error) {
|
|
5998
6077
|
console.error(`QueriesApi waitForSites : catch : `);
|
|
@@ -6040,6 +6119,7 @@ class QueriesApi {
|
|
|
6040
6119
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
6041
6120
|
*/
|
|
6042
6121
|
class CategoriesApi {
|
|
6122
|
+
apiService;
|
|
6043
6123
|
constructor() {
|
|
6044
6124
|
this.apiService = new ApiClientFactory();
|
|
6045
6125
|
}
|
|
@@ -6104,6 +6184,7 @@ class CategoriesApi {
|
|
|
6104
6184
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
6105
6185
|
*/
|
|
6106
6186
|
class TagsApi {
|
|
6187
|
+
apiService;
|
|
6107
6188
|
constructor() {
|
|
6108
6189
|
this.apiService = new ApiClientFactory();
|
|
6109
6190
|
}
|
|
@@ -6130,9 +6211,39 @@ class TagsApi {
|
|
|
6130
6211
|
return null;
|
|
6131
6212
|
}
|
|
6132
6213
|
}
|
|
6133
|
-
async
|
|
6214
|
+
async deleteTags(tagIds) {
|
|
6215
|
+
try {
|
|
6216
|
+
for (const tagId of tagIds) {
|
|
6217
|
+
await this.apiService.tagsApi.deleteTag(tagId);
|
|
6218
|
+
}
|
|
6219
|
+
}
|
|
6220
|
+
catch (error) {
|
|
6221
|
+
console.error(error);
|
|
6222
|
+
}
|
|
6223
|
+
}
|
|
6224
|
+
async listTagsForNode(nodeId) {
|
|
6134
6225
|
try {
|
|
6135
|
-
return this.apiService.tagsApi.
|
|
6226
|
+
return this.apiService.tagsApi.listTagsForNode(nodeId);
|
|
6227
|
+
}
|
|
6228
|
+
catch (error) {
|
|
6229
|
+
console.error(error);
|
|
6230
|
+
return null;
|
|
6231
|
+
}
|
|
6232
|
+
}
|
|
6233
|
+
async listTags(params) {
|
|
6234
|
+
try {
|
|
6235
|
+
return this.apiService.tagsApi.listTags(params);
|
|
6236
|
+
}
|
|
6237
|
+
catch (error) {
|
|
6238
|
+
console.error(error);
|
|
6239
|
+
return null;
|
|
6240
|
+
}
|
|
6241
|
+
}
|
|
6242
|
+
async deleteTagsByTagName(tagName) {
|
|
6243
|
+
try {
|
|
6244
|
+
const response = await this.listTags({ tag: tagName, matching: true });
|
|
6245
|
+
const tagIds = response.list.entries.map((entry) => entry.entry.id);
|
|
6246
|
+
await this.deleteTags(tagIds);
|
|
6136
6247
|
}
|
|
6137
6248
|
catch (error) {
|
|
6138
6249
|
console.error(error);
|
|
@@ -6196,11 +6307,17 @@ function generateRandomCharset(length = 8, charSet) {
|
|
|
6196
6307
|
return text;
|
|
6197
6308
|
}
|
|
6198
6309
|
class UserModel {
|
|
6310
|
+
firstName = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6311
|
+
lastName = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6312
|
+
password = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6313
|
+
email;
|
|
6314
|
+
username;
|
|
6315
|
+
idIdentityService;
|
|
6316
|
+
type = 'enterprise';
|
|
6317
|
+
tenantId;
|
|
6318
|
+
company;
|
|
6319
|
+
id;
|
|
6199
6320
|
constructor(details = {}) {
|
|
6200
|
-
this.firstName = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6201
|
-
this.lastName = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6202
|
-
this.password = generateRandomCharset(7, LOWER_CASE_ALPHA);
|
|
6203
|
-
this.type = 'enterprise';
|
|
6204
6321
|
const EMAIL_DOMAIN = 'alfresco';
|
|
6205
6322
|
this.firstName = details.firstName ?? this.firstName;
|
|
6206
6323
|
this.lastName = details.lastName ?? this.lastName;
|
|
@@ -6845,6 +6962,30 @@ const TEST_FILES = {
|
|
|
6845
6962
|
path: resolve(__dirname, 'file-jpg-1mb.jpg'),
|
|
6846
6963
|
name: 'file-jpg-1mb'
|
|
6847
6964
|
},
|
|
6965
|
+
PNG_FILE: {
|
|
6966
|
+
path: resolve(__dirname, 'file-png.png'),
|
|
6967
|
+
name: 'file-png'
|
|
6968
|
+
},
|
|
6969
|
+
GIF_FILE: {
|
|
6970
|
+
path: resolve(__dirname, 'file-gif.gif'),
|
|
6971
|
+
name: 'file-gif'
|
|
6972
|
+
},
|
|
6973
|
+
PPTX_FILE: {
|
|
6974
|
+
path: resolve(__dirname, 'file-pptx.pptx'),
|
|
6975
|
+
name: 'file-pptx'
|
|
6976
|
+
},
|
|
6977
|
+
MP3_FILE: {
|
|
6978
|
+
path: resolve(__dirname, 'file-mp3.mp3'),
|
|
6979
|
+
name: 'file-mp3'
|
|
6980
|
+
},
|
|
6981
|
+
MP4_FILE: {
|
|
6982
|
+
path: resolve(__dirname, 'file-mp4.mp4'),
|
|
6983
|
+
name: 'file-mp4'
|
|
6984
|
+
},
|
|
6985
|
+
WEBM_FILE: {
|
|
6986
|
+
path: resolve(__dirname, 'file-webm.webm'),
|
|
6987
|
+
name: 'file-webm'
|
|
6988
|
+
},
|
|
6848
6989
|
PDF_PROTECTED2: {
|
|
6849
6990
|
path: resolve(__dirname, 'protected.pdf'),
|
|
6850
6991
|
name: 'file-protected',
|