@alfresco/aca-playwright-shared 7.3.0-22343874694 → 7.3.0-22350700167

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.
@@ -2249,7 +2249,7 @@ class ManageRules extends BaseComponent {
2249
2249
  ruleDetailsEditButton = this.getChild('#edit-rule-btn');
2250
2250
  ruleDetailsWhenText = this.getChild('[data-automation-id="rule-details-triggers-component"]');
2251
2251
  ruleDetailsPerformActionsDiv = this.getChild('adf-card-view-selectitem [data-automation-id="select-box"]');
2252
- rulesEmptyList = this.getChild('adf-empty-content');
2252
+ rulesEmptyListTitle = this.getChild('.adf-empty-content__title');
2253
2253
  ruleActions = this.getChild('aca-rule-action');
2254
2254
  ruleConditionsInGroup = this.getChild('aca-rule-composite-condition aca-rule-simple-condition');
2255
2255
  ruleDescription = this.getChild('.aca-manage-rules__container__rule-details__header__title__description');
@@ -2263,7 +2263,7 @@ class ManageRules extends BaseComponent {
2263
2263
  }
2264
2264
  }
2265
2265
  async checkIfRuleListEmpty() {
2266
- return this.rulesEmptyList.isVisible();
2266
+ return this.rulesEmptyListTitle.isVisible();
2267
2267
  }
2268
2268
  async checkIfRuleIsOnTheList(ruleName) {
2269
2269
  await expect(this.getGroupsList(ruleName)).toBeVisible({ timeout: 5000 });
@@ -3327,11 +3327,10 @@ class SearchFilters extends BaseComponent {
3327
3327
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3328
3328
  */
3329
3329
  class SearchInputComponent extends BaseComponent {
3330
- static rootElement = '.aca-content-header';
3331
- searchInput = this.getChild('aca-search-input input');
3332
- searchButton = this.getChild('button[title="Search"]');
3333
- searchCloseButton = this.getChild('.aca-search-input--close-button');
3334
- searchInButton = this.getChild('aca-search-in-menu button');
3330
+ static rootElement = 'aca-page-layout';
3331
+ searchInput = this.page.locator('#app-control-input');
3332
+ searchButton = this.page.locator('.aca-search-input--search-button');
3333
+ searchCloseButton = this.page.locator('.aca-search-input--close-button');
3335
3334
  /**
3336
3335
  * Method used in cases where user have possibility to navigate "inside" the element (it's clickable and has link attribute).
3337
3336
  * Perform action .click() to navigate inside it
@@ -3342,9 +3341,10 @@ class SearchInputComponent extends BaseComponent {
3342
3341
  constructor(page, rootElement = SearchInputComponent.rootElement) {
3343
3342
  super(page, rootElement);
3344
3343
  }
3345
- async searchFor(searchText) {
3346
- await this.searchInput.fill(searchText);
3347
- await this.searchButton.click();
3344
+ async performDoubleClickFolderOrFileToOpen(name) {
3345
+ await this.getCellLinkByName(name).waitFor({ state: 'visible', timeout: timeouts.medium });
3346
+ await this.getCellLinkByName(name).dblclick();
3347
+ await this.spinnerWaitForReload();
3348
3348
  }
3349
3349
  }
3350
3350
 
@@ -3384,6 +3384,85 @@ class SearchMenuCard extends BaseComponent {
3384
3384
  }
3385
3385
  }
3386
3386
 
3387
+ /*!
3388
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
3389
+ *
3390
+ * Alfresco Example Content Application
3391
+ *
3392
+ * This file is part of the Alfresco Example Content Application.
3393
+ * If the software was purchased under a paid Alfresco license, the terms of
3394
+ * the paid license agreement will prevail. Otherwise, the software is
3395
+ * provided under the following open source license terms:
3396
+ *
3397
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
3398
+ * it under the terms of the GNU Lesser General Public License as published by
3399
+ * the Free Software Foundation, either version 3 of the License, or
3400
+ * (at your option) any later version.
3401
+ *
3402
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
3403
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3404
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3405
+ * GNU Lesser General Public License for more details.
3406
+ *
3407
+ * You should have received a copy of the GNU Lesser General Public License
3408
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
3409
+ */
3410
+ class SearchOverlayComponent extends BaseComponent {
3411
+ static rootElement = '.cdk-overlay-pane';
3412
+ searchFilesOption = this.getChild('input#content-input');
3413
+ searchFoldersOption = this.getChild('input#folder-input');
3414
+ searchLibrariesOption = this.getChild('input#libraries-input');
3415
+ searchInput = this.page.locator('#app-control-input');
3416
+ searchButton = this.page.locator('app-search-input-control button[title="Search"]');
3417
+ searchInputControl = this.page.locator('.app-search-control');
3418
+ searchOptions = this.page.locator('.app-search-options');
3419
+ constructor(page, rootElement = SearchOverlayComponent.rootElement) {
3420
+ super(page, rootElement);
3421
+ }
3422
+ async isFoldersOptionChecked() {
3423
+ return this.searchFoldersOption.isChecked();
3424
+ }
3425
+ async isFilesOptionChecked() {
3426
+ return this.searchFilesOption.isChecked();
3427
+ }
3428
+ async isLibrariesOptionChecked() {
3429
+ return this.searchLibrariesOption.isChecked();
3430
+ }
3431
+ async clearOptions() {
3432
+ if (await this.isFilesOptionChecked()) {
3433
+ await this.searchFilesOption.click();
3434
+ }
3435
+ if (await this.isFoldersOptionChecked()) {
3436
+ await this.searchFoldersOption.click();
3437
+ }
3438
+ if (await this.isLibrariesOptionChecked()) {
3439
+ await this.searchLibrariesOption.click();
3440
+ }
3441
+ }
3442
+ async checkOnlyFolders() {
3443
+ await this.clearOptions();
3444
+ await this.searchFoldersOption.click();
3445
+ }
3446
+ async checkOnlyFiles() {
3447
+ await this.clearOptions();
3448
+ await this.searchFilesOption.click();
3449
+ }
3450
+ async checkLibraries() {
3451
+ await this.clearOptions();
3452
+ await this.searchLibrariesOption.click();
3453
+ }
3454
+ async checkFilesAndFolders() {
3455
+ await this.clearOptions();
3456
+ await this.searchFilesOption.click();
3457
+ await this.searchFoldersOption.click();
3458
+ }
3459
+ async searchFor(input) {
3460
+ await this.searchInput.clear();
3461
+ await this.searchInput.fill(input);
3462
+ await this.searchButton.click({ force: true });
3463
+ }
3464
+ }
3465
+
3387
3466
  /*!
3388
3467
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
3389
3468
  *
@@ -4059,82 +4138,6 @@ class SharedPage extends BasePage {
4059
4138
  manageVersionsDialog = new ManageVersionsDialog(this.page);
4060
4139
  }
4061
4140
 
4062
- /*!
4063
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4064
- *
4065
- * Alfresco Example Content Application
4066
- *
4067
- * This file is part of the Alfresco Example Content Application.
4068
- * If the software was purchased under a paid Alfresco license, the terms of
4069
- * the paid license agreement will prevail. Otherwise, the software is
4070
- * provided under the following open source license terms:
4071
- *
4072
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
4073
- * it under the terms of the GNU Lesser General Public License as published by
4074
- * the Free Software Foundation, either version 3 of the License, or
4075
- * (at your option) any later version.
4076
- *
4077
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
4078
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
4079
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4080
- * GNU Lesser General Public License for more details.
4081
- *
4082
- * You should have received a copy of the GNU Lesser General Public License
4083
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
4084
- */
4085
- class SearchInDialogComponent extends BaseComponent {
4086
- static rootElement = '.aca-search-in-panel';
4087
- filesAndFoldersRadioButton = this.getChild('.aca-search-in-panel__radio label').getByText('Files and folders');
4088
- librariesRadioButton = this.getChild('.aca-search-in-panel__radio label').getByText('Libraries');
4089
- filesCheckbox = this.getChild('.aca-search-in-panel__checkboxes').getByLabel('Files');
4090
- foldersCheckbox = this.getChild('.aca-search-in-panel__checkboxes').getByLabel('Folders');
4091
- applyButton = this.getChild('button', { hasText: 'Apply' });
4092
- resetButton = this.getChild('button', { hasText: 'Reset' });
4093
- constructor(page, rootElement = SearchInDialogComponent.rootElement) {
4094
- super(page, rootElement);
4095
- }
4096
- async isFoldersOptionChecked() {
4097
- return this.foldersCheckbox.isChecked();
4098
- }
4099
- async isFilesOptionChecked() {
4100
- return this.filesCheckbox.isChecked();
4101
- }
4102
- async resetOptions() {
4103
- await this.resetButton.click();
4104
- }
4105
- async checkOnlyFolders() {
4106
- await this.resetOptions();
4107
- if (await this.isFilesOptionChecked()) {
4108
- await this.filesCheckbox.click();
4109
- }
4110
- if (!(await this.isFoldersOptionChecked())) {
4111
- await this.foldersCheckbox.click();
4112
- }
4113
- }
4114
- async checkOnlyFiles() {
4115
- await this.resetOptions();
4116
- if (await this.isFoldersOptionChecked()) {
4117
- await this.foldersCheckbox.click();
4118
- }
4119
- if (!(await this.isFilesOptionChecked())) {
4120
- await this.filesCheckbox.click();
4121
- }
4122
- }
4123
- async checkLibraries() {
4124
- await this.resetOptions();
4125
- await this.librariesRadioButton.click();
4126
- }
4127
- async checkFilesAndFolders() {
4128
- await this.resetOptions();
4129
- if (!(await this.isFilesOptionChecked())) {
4130
- await this.filesCheckbox.click();
4131
- }
4132
- if (!(await this.isFoldersOptionChecked())) {
4133
- await this.foldersCheckbox.click();
4134
- }
4135
- }
4136
- }
4137
-
4138
4141
  /*!
4139
4142
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4140
4143
  *
@@ -4168,8 +4171,8 @@ class SearchPage extends BasePage {
4168
4171
  folderDialog = new AdfFolderDialogComponent(this.page);
4169
4172
  dataTable = new DataTableComponent(this.page);
4170
4173
  viewer = new ViewerComponent(this.page);
4171
- searchInputComponent = new SearchInputComponent(this.page);
4172
- searchInDialog = new SearchInDialogComponent(this.page);
4174
+ searchInput = new SearchInputComponent(this.page);
4175
+ searchOverlay = new SearchOverlayComponent(this.page);
4173
4176
  searchSortingPicker = new SearchSortingPicker(this.page);
4174
4177
  searchFilters = new SearchFilters(this.page);
4175
4178
  searchFiltersTags = new SearchFiltersTags(this.page);
@@ -4185,33 +4188,29 @@ class SearchPage extends BasePage {
4185
4188
  folderInformationDialog = new FolderInformationDialogComponent(this.page);
4186
4189
  searchMenuCard = new SearchMenuCard(this.page);
4187
4190
  async searchWithin(searchText, searchType) {
4188
- if (!(await this.searchInputComponent.searchInput.isVisible())) {
4189
- await this.acaHeader.searchButton.click();
4190
- }
4191
- await this.searchInputComponent.searchInButton.click();
4191
+ await this.acaHeader.searchButton.click();
4192
+ await this.clickSearchButton();
4192
4193
  switch (searchType) {
4193
4194
  case 'files':
4194
- await this.searchInDialog.checkOnlyFiles();
4195
+ await this.searchOverlay.checkOnlyFiles();
4195
4196
  break;
4196
4197
  case 'folders':
4197
- await this.searchInDialog.checkOnlyFolders();
4198
+ await this.searchOverlay.checkOnlyFolders();
4198
4199
  break;
4199
4200
  case 'filesAndFolders':
4200
- await this.searchInDialog.checkFilesAndFolders();
4201
+ await this.searchOverlay.checkFilesAndFolders();
4201
4202
  break;
4202
4203
  case 'libraries':
4203
- await this.searchInDialog.checkLibraries();
4204
+ await this.searchOverlay.checkLibraries();
4204
4205
  break;
4205
4206
  default:
4206
4207
  break;
4207
4208
  }
4208
- await this.searchInDialog.applyButton.click();
4209
- await this.clickSearchButton();
4210
- await this.searchInputComponent.searchFor(searchText);
4209
+ await this.searchOverlay.searchFor(searchText);
4211
4210
  await this.dataTable.progressBarWaitForReload();
4212
4211
  }
4213
4212
  async clickSearchButton() {
4214
- await this.searchInputComponent.searchButton.click({ force: true });
4213
+ await this.searchInput.searchButton.click({ force: true });
4215
4214
  }
4216
4215
  }
4217
4216
 
@@ -4676,7 +4675,7 @@ const getGlobalConfig = {
4676
4675
  testMatch: ['**/*.e2e.ts'],
4677
4676
  use: {
4678
4677
  /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
4679
- actionTimeout: 40 * 1000,
4678
+ actionTimeout: 0,
4680
4679
  /* Base URL to use in actions like `await page.goto('/')`. */
4681
4680
  baseURL: env.PLAYWRIGHT_E2E_HOST,
4682
4681
  headless: env.PLAYWRIGHT_HEADLESS === 'true' || !!env.CI,
@@ -7442,5 +7441,5 @@ const TEST_FILES = {
7442
7441
  * Generated bundle index. Do not edit.
7443
7442
  */
7444
7443
 
7445
- export { APP_ROUTES, AcaHeader, ActionType, ActionTypes, ActionsDropdownComponent, AdfConfirmDialogComponent, AdfDeleteTrashComponent, AdfFolderDialogComponent, AdfInfoDrawerComponent, AdfLibraryDialogComponent, ApiClientFactory, BaseComponent, BasePage, Breadcrumb, CategoriesApi, Comparator, ConditionComponent, ConditionsTypes, ContentNodeSelectorDialog, CreateFromTemplateDialogComponent, DataTableComponent, DateTimePicker, EditDialog, ErrorComponent, FavoritesLibrariesPage, FavoritesPage, FavoritesPageApi, Field, FileActionsApi, FolderInformationDialogComponent, GenericLogger, LinkRulesDialog, LogLevelsEnum, LoginPage, ManageRules, ManageRulesDialogComponent, ManageVersionsDialog, MatMenuComponent, MimeType, MyLibrariesPage, NodesApi, NodesPage, PaginationActionsType, PaginationComponent, PasswordOverlayDialogComponent, Person, PersonalFilesPage, QueriesApi, RecentFilesPage, RulesApi, RulesToolbarComponent, SIDEBAR_LABELS, SITE_ROLES, SITE_VISIBILITY, SearchFilters, SearchFiltersCategories, SearchFiltersDate, SearchFiltersLocation, SearchFiltersLogic, SearchFiltersProperties, SearchFiltersTags, SearchInputComponent, SearchMenuCard, SearchPage, SearchPageApi, SearchSortingPicker, ShareDialogComponent, SharedLinksApi, SharedPage, SidenavComponent, SitesApi, SnackBarComponent, SpinnerComponent, TEST_FILES, TagsApi, TrashPage, TrashcanApi, UploadDialog, UploadNewVersionDialog, UserModel, Utils, ViewerComponent, ViewerOverlayDialogComponent, collaboratorDocToolbarMore, collaboratorEditRowToolbarMore, collaboratorLockCurrentUserToolbarMore, collaboratorLockOtherUserSearchToolbarMore, collaboratorLockOtherUserToolbarMore, collaboratorSharedToolbarPrimary, collaboratorToolbarPrimary, createSuiteProjects, errorColor, errorStrings, favoritesCollaboratorToolbarMore, file, fileDocx, fileDocxFav, fileDocxShared, fileDocxSharedFav, fileFav, fileFavLocked, fileGranularPermission, fileLocked, fileLockedByUser, fileShared, fileSharedFav, fileSharedFavLocked, fileSharedLocked, flattenNodeContentTree, folder, folderFav, folderFav2, folderFavFile, folderFile, getBrowserProjects, getExcludedTestsRegExpArray, getGlobalConfig, getUserState, infoColor, libraryErrors, logColor, logLevels, multipleSel, multipleSelAllFav, multipleSelFile, paths, random$1 as random, test, testEmailDomain, timeouts, users, waitForApi, warnColor };
7444
+ export { APP_ROUTES, AcaHeader, ActionType, ActionTypes, ActionsDropdownComponent, AdfConfirmDialogComponent, AdfDeleteTrashComponent, AdfFolderDialogComponent, AdfInfoDrawerComponent, AdfLibraryDialogComponent, ApiClientFactory, BaseComponent, BasePage, Breadcrumb, CategoriesApi, Comparator, ConditionComponent, ConditionsTypes, ContentNodeSelectorDialog, CreateFromTemplateDialogComponent, DataTableComponent, DateTimePicker, EditDialog, ErrorComponent, FavoritesLibrariesPage, FavoritesPage, FavoritesPageApi, Field, FileActionsApi, FolderInformationDialogComponent, GenericLogger, LinkRulesDialog, LogLevelsEnum, LoginPage, ManageRules, ManageRulesDialogComponent, ManageVersionsDialog, MatMenuComponent, MimeType, MyLibrariesPage, NodesApi, NodesPage, PaginationActionsType, PaginationComponent, PasswordOverlayDialogComponent, Person, PersonalFilesPage, QueriesApi, RecentFilesPage, RulesApi, RulesToolbarComponent, SIDEBAR_LABELS, SITE_ROLES, SITE_VISIBILITY, SearchFilters, SearchFiltersCategories, SearchFiltersDate, SearchFiltersLocation, SearchFiltersLogic, SearchFiltersProperties, SearchFiltersTags, SearchInputComponent, SearchMenuCard, SearchOverlayComponent, SearchPage, SearchPageApi, SearchSortingPicker, ShareDialogComponent, SharedLinksApi, SharedPage, SidenavComponent, SitesApi, SnackBarComponent, SpinnerComponent, TEST_FILES, TagsApi, TrashPage, TrashcanApi, UploadDialog, UploadNewVersionDialog, UserModel, Utils, ViewerComponent, ViewerOverlayDialogComponent, collaboratorDocToolbarMore, collaboratorEditRowToolbarMore, collaboratorLockCurrentUserToolbarMore, collaboratorLockOtherUserSearchToolbarMore, collaboratorLockOtherUserToolbarMore, collaboratorSharedToolbarPrimary, collaboratorToolbarPrimary, createSuiteProjects, errorColor, errorStrings, favoritesCollaboratorToolbarMore, file, fileDocx, fileDocxFav, fileDocxShared, fileDocxSharedFav, fileFav, fileFavLocked, fileGranularPermission, fileLocked, fileLockedByUser, fileShared, fileSharedFav, fileSharedFavLocked, fileSharedLocked, flattenNodeContentTree, folder, folderFav, folderFav2, folderFavFile, folderFile, getBrowserProjects, getExcludedTestsRegExpArray, getGlobalConfig, getUserState, infoColor, libraryErrors, logColor, logLevels, multipleSel, multipleSelAllFav, multipleSelFile, paths, random$1 as random, test, testEmailDomain, timeouts, users, waitForApi, warnColor };
7446
7445
  //# sourceMappingURL=alfresco-aca-playwright-shared.mjs.map