From 1c51b2a1a67a8c64483e56c4b4e4a8e509861723 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Wed, 16 Dec 2020 18:46:56 +0000 Subject: [PATCH] Use hash strategy in demo shell as the other apps (#6402) * hash startegy * use hash in e2e * trigger build * fix * fix * remove children router overwrite crazynes * Update login.module.ts * revert not needed changes * some fixes * fix * remove fdescribe * fix * fix * Update share-file.e2e.ts * Update lock-file.e2e.ts * Update share-file.e2e.ts * some fix * some other fixes * username as id * fix after rebase * username * fix usernamee * Fix the errorComponent * Attempt to fix unit test - to check * * Fixed circular dependency error while building adf-testing package * * Fixed failing UT * fix * use username * some fixes * some fix * fix Co-authored-by: Maurizio Vitale Co-authored-by: Vito Albano Co-authored-by: sivakumar414ram --- demo-shell/src/app.config.json | 2 +- demo-shell/src/app/app.module.ts | 11 +- .../app/components/login/login.component.ts | 2 +- .../components/logout/logout.component.html | 2 +- demo-shell/src/index.html | 9 +- .../core/directives/context-menu.directive.md | 2 +- .../about-content-services.component.e2e.ts | 4 +- .../comments/comment-component.e2e.ts | 145 +-- .../directives/create-folder-directive.e2e.ts | 2 +- .../create-library-directive.e2e.ts | 2 +- .../directives/delete-directive.e2e.ts | 41 +- .../directives/download-directive.e2e.ts | 4 +- .../directives/edit-folder-directive.e2e.ts | 8 +- .../directives/favorite-directive.e2e.ts | 4 +- .../restore-content-directive.e2e.ts | 253 ++-- .../document-list-actions.e2e.ts | 4 +- .../document-list-component.e2e.ts | 196 ++-- .../document-list-copy-move-actions.e2e.ts | 27 +- .../document-list-folder-actions.e2e.ts | 17 +- .../document-list-gallery.e2e.ts | 4 +- .../document-list-pagination.e2e.ts | 16 +- .../document-list-permissions.e2e.ts | 2 +- .../document-list-properties.e2e.ts | 4 +- .../document-list-selection.e2e.ts | 4 +- .../document-list-thumbnails-tooltips.e2e.ts | 10 +- e2e/content-services/lock-file.e2e.ts | 103 +- .../metadata/aspect-oriented-config.e2e.ts | 4 +- .../metadata/metadata-permissions.e2e.ts | 17 +- .../metadata/metadata-properties.e2e.ts | 4 +- .../metadata/metadata-smoke-tests.e2e.ts | 24 +- .../permissions/permissions-component.e2e.ts | 64 +- .../permissions/site-permissions.e2e.ts | 50 +- .../share-file/share-file.e2e.ts | 16 +- .../share-file/unshare-file.e2e.ts | 28 +- .../social/social.component.e2e.ts | 66 +- .../sso-download-directive-component.e2e.ts | 4 +- e2e/content-services/tag-component.e2e.ts | 4 +- .../trashcan-pagination.e2e.ts | 4 +- .../tree-view-component.e2e.ts | 4 +- .../upload/cancel-upload.e2e.ts | 4 +- .../upload/excluded-file.e2e.ts | 4 +- .../upload/upload-dialog.e2e.ts | 4 +- .../upload/uploader-component.e2e.ts | 4 +- .../upload/user-permission.e2e.ts | 15 +- .../version/version-actions.e2e.ts | 4 +- .../version/version-permissions.e2e.ts | 26 +- .../version/version-properties.e2e.ts | 4 +- .../version/version-smoke-tests.e2e.ts | 4 +- .../data-table-component-selection.e2e.ts | 2 +- .../datatable/data-table-component.e2e.ts | 2 +- e2e/core/error-component.e2e.ts | 20 +- e2e/core/header-component.e2e.ts | 2 +- e2e/core/icons-component.e2e.ts | 2 +- e2e/core/infinite-scrolling.e2e.ts | 4 +- e2e/core/login/login-component.e2e.ts | 19 +- e2e/core/login/login-sso/logout-sso.e2e.ts | 9 +- e2e/core/notifications-component.e2e.ts | 4 +- e2e/core/pages/comments.page.ts | 4 +- e2e/core/pages/content-services.page.ts | 13 +- e2e/core/pages/trashcan.page.ts | 3 +- e2e/core/pagination-empty-current-page.e2e.ts | 4 +- e2e/core/user-info-component-cloud.e2e.ts | 2 +- .../viewer-archive.component.e2e.ts | 6 +- .../file-extensions/viewer-component.e2e.ts | 11 +- .../viewer-excel.component.e2e.ts | 6 +- .../viewer-image.component.e2e.ts | 6 +- .../viewer-powerpoint.component.e2e.ts | 6 +- .../viewer-text.component.e2e.ts | 6 +- .../viewer-word.component.e2e.ts | 6 +- .../viewer-content-services-component.e2e.ts | 4 +- .../viewer-custom-toolbar-info-drawer.e2e.ts | 4 +- e2e/core/viewer/viewer-properties.e2e.ts | 176 +-- e2e/core/viewer/viewer-share-content.ts | 10 +- e2e/insights/analytics-component.e2e.ts | 2 +- ...ut-process-services-cloud.component.e2e.ts | 4 +- .../apps-section-cloud.e2e.ts | 4 +- .../edit-process-filters-component.e2e.ts | 2 +- .../edit-task-filters-component.e2e.ts | 4 +- .../form-field/dropdown-widget.e2e.ts | 4 +- .../task-visibility-condition.e2e.ts | 2 +- .../people-group-cloud-component.e2e.ts | 2 +- ...people-group-cloud-filter-component.e2e.ts | 2 +- .../process-custom-filters.e2e.ts | 6 +- .../process-filter-results.e2e.ts | 8 +- .../process-filters-cloud.e2e.ts | 4 +- .../process-header-cloud.e2e.ts | 4 +- .../process-list-cloud-action-menu.e2e.ts | 4 +- .../process-list-selection-cloud.e2e.ts | 4 +- ...cess-task-attach-content-file-cloud.e2e.ts | 6 +- .../start-process-cloud.e2e.ts | 2 +- .../start-task-form-cloud.e2e.ts | 8 +- .../start-task-custom-app-cloud.e2e.ts | 6 +- .../start-task/start-task-group-cloud.e2e.ts | 4 +- .../task-filters-cloud.e2e.ts | 4 +- .../task-form-cloud-component-tab.e2e.ts | 4 +- .../task-header-cloud.e2e.ts | 4 +- .../task-list-cloud-action-menu.e2e.ts | 4 +- .../task-list-properties-sort.e2e.ts | 4 +- .../task-list-properties.e2e.ts | 4 +- .../task-list-selection.e2e.ts | 4 +- .../tasks-custom-filters.e2e.ts | 4 +- .../about-process-services.e2e.ts | 4 +- e2e/process-services/apps-section.e2e.ts | 4 +- .../attach-file-content-service.e2e.ts | 8 +- .../attach-file-widget-start-task-app.e2e.ts | 4 +- e2e/process-services/attach-folder.e2e.ts | 4 +- .../attach-form-component.e2e.ts | 4 +- .../checklist-component.e2e.ts | 4 +- .../comment-component-processes.e2e.ts | 22 +- .../comment-component-tasks.e2e.ts | 10 +- .../custom-process-filters-sorting.e2e.ts | 4 +- .../custom-process-filters.e2e.ts | 4 +- .../custom-tasks-filters.e2e.ts | 4 +- .../dynamic-table-date-picker.e2e.ts | 12 +- .../empty-process-list-component.e2e.ts | 4 +- e2e/process-services/form-component.e2e.ts | 4 +- .../form-people-widget.e2e.ts | 4 +- .../form-widgets-component.e2e.ts | 8 +- e2e/process-services/info-drawer.e2e.ts | 4 +- ...nation-processlist-adding-processes.e2e.ts | 4 +- .../pagination-tasklist-adding-tasks.e2e.ts | 4 +- e2e/process-services/people-component.e2e.ts | 8 +- ...process-attachment-list-action-menu.e2e.ts | 4 +- .../process-filters-component.e2e.ts | 4 +- .../process-instance-details.e2e.ts | 4 +- .../process-list-component.e2e.ts | 4 +- .../processlist-pagination.e2e.ts | 6 +- .../sort-tasklist-pagination.e2e.ts | 4 +- e2e/process-services/standalone-task.e2e.ts | 4 +- .../start-process-component.e2e.ts | 10 +- .../start-task-custom-app.e2e.ts | 4 +- .../start-task-task-app.e2e.ts | 4 +- e2e/process-services/stencil.e2e.ts | 4 +- e2e/process-services/task-assignee.e2e.ts | 14 +- .../task-attachment-list-action-menu.e2e.ts | 4 +- e2e/process-services/task-audit.e2e.ts | 4 +- e2e/process-services/task-details-form.e2e.ts | 4 +- .../task-details-no-form.e2e.ts | 4 +- e2e/process-services/task-details.e2e.ts | 4 +- .../task-filters-component.e2e.ts | 8 +- .../task-filters-sorting.e2e.ts | 4 +- .../task-list-pagination.e2e.ts | 4 +- .../widgets/amount-widget.e2e.ts | 4 +- .../widgets/attach-file-widget.e2e.ts | 4 +- .../widgets/attach-folder-widget.e2e.ts | 4 +- .../widgets/checkbox-widget.e2e.ts | 4 +- .../widgets/date-time-widget.e2e.ts | 4 +- .../widgets/date-widget.e2e.ts | 4 +- .../widgets/document-template-widget.e2e.ts | 4 +- .../widgets/dropdown-widget.e2e.ts | 4 +- .../widgets/dynamic-table-widget.e2e.ts | 12 +- .../widgets/header-widget.e2e.ts | 4 +- .../widgets/hyperlink-widget.e2e.ts | 4 +- .../widgets/multi-line-widget.e2e.ts | 4 +- .../widgets/number-widget.e2e.ts | 4 +- .../widgets/people-group-widget.e2e.ts | 4 +- .../widgets/people-widget.e2e.ts | 4 +- .../widgets/radio-buttons-widget.e2e.ts | 4 +- .../widgets/text-widget.e2e.ts | 4 +- .../widgets/typeahead-widget.e2e.ts | 4 +- .../widget-visibility-condition.e2e.ts | 4 +- e2e/protractor.conf.js | 8 +- .../components/search-check-list.e2e.ts | 4 +- .../components/search-number-range.e2e.ts | 6 +- e2e/search/components/search-radio.e2e.ts | 6 +- e2e/search/components/search-slider.e2e.ts | 6 +- .../components/search-sorting-picker.e2e.ts | 4 +- e2e/search/components/search-text.e2e.ts | 4 +- e2e/search/search-component.e2e.ts | 4 +- e2e/search/search-filters.e2e.ts | 6 +- e2e/search/search-multiselect.e2e.ts | 20 +- e2e/search/search-page.e2e.ts | 4 +- e2e/test.config.js | 8 +- .../content-metadata.component.ts | 2 +- lib/core/login/components/login.component.ts | 20 +- lib/core/services/auth-guard-base.ts | 21 +- .../services/auth-guard-ecm.service.spec.ts | 4 +- lib/core/services/auth-guard.service.spec.ts | 2 +- .../error-content.component.html | 6 +- .../error-content.component.spec.ts | 2 +- .../error-content/error-content.component.ts | 13 +- .../pages/document-list.page.ts | 2 + .../lib/content-services/pages/like.page.ts | 5 +- .../lib/content-services/pages/rate.page.ts | 4 +- .../identity/group-identity.service.ts | 4 +- .../src/lib/core/actions/users.actions.ts | 2 +- .../lib/core/pages/material/dropdown.page.ts | 2 + .../core/pages/notification-history.page.ts | 3 +- lib/testing/src/lib/core/pages/viewer.page.ts | 4 +- .../src/lib/core/utils/browser-actions.ts | 2 +- .../src/lib/core/utils/browser-visibility.ts | 4 +- .../actions/applications.util.ts | 2 +- nx.json | 2 +- package-lock.json | 1033 ++++++++++------- package.json | 20 +- 195 files changed, 1774 insertions(+), 1460 deletions(-) diff --git a/demo-shell/src/app.config.json b/demo-shell/src/app.config.json index f378e43847..d1beefeda1 100644 --- a/demo-shell/src/app.config.json +++ b/demo-shell/src/app.config.json @@ -21,7 +21,7 @@ "silentLogin": true, "redirectSilentIframeUri": "{protocol}//{hostname}{:port}/assets/silent-refresh.html", "redirectUri": "/", - "redirectUriLogout": "/logout", + "redirectUriLogout": "#/logout", "publicUrls": [ "**/preview/s/*", "**/settings", diff --git a/demo-shell/src/app/app.module.ts b/demo-shell/src/app/app.module.ts index e86432ebee..d6f92cb91d 100644 --- a/demo-shell/src/app/app.module.ts +++ b/demo-shell/src/app/app.module.ts @@ -23,7 +23,14 @@ import { ChartsModule } from 'ng2-charts'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; -import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule, CoreAutomationService, AuthBearerInterceptor } from '@alfresco/adf-core'; +import { + AppConfigService, + TRANSLATION_PROVIDER, + DebugAppConfigService, + CoreModule, + CoreAutomationService, + AuthBearerInterceptor +} from '@alfresco/adf-core'; import { ExtensionsModule } from '@alfresco/adf-extensions'; import { AppComponent } from './app.component'; import { MaterialModule } from './material.module'; @@ -127,7 +134,7 @@ registerLocaleData(localeSv); BrowserModule, environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule, ReactiveFormsModule, - RouterModule.forRoot(appRoutes, { initialNavigation: true }), + RouterModule.forRoot(appRoutes, { useHash: true }), FormsModule, HttpClientModule, MaterialModule, diff --git a/demo-shell/src/app/components/login/login.component.ts b/demo-shell/src/app/components/login/login.component.ts index b9068dbe8a..1e67052a8f 100644 --- a/demo-shell/src/app/components/login/login.component.ts +++ b/demo-shell/src/app/components/login/login.component.ts @@ -26,7 +26,7 @@ import { LogService } from '@alfresco/adf-core'; }) export class LoginComponent { - customSuccessRouteURI = ''; + customSuccessRouteURI = '/home'; customLogoImageURL = './assets/images/alfresco-logo.svg'; disableCsrf = false; diff --git a/demo-shell/src/app/components/logout/logout.component.html b/demo-shell/src/app/components/logout/logout.component.html index 6fd8a5ee6c..bdcaefd5c8 100644 --- a/demo-shell/src/app/components/logout/logout.component.html +++ b/demo-shell/src/app/components/logout/logout.component.html @@ -7,7 +7,7 @@
+ + + + + + + + ACS APS ADF Application with Angular CLI - diff --git a/docs/core/directives/context-menu.directive.md b/docs/core/directives/context-menu.directive.md index 410029e39b..1ea5077797 100644 --- a/docs/core/directives/context-menu.directive.md +++ b/docs/core/directives/context-menu.directive.md @@ -1,7 +1,7 @@ --- Title: Context Menu directive Added: v2.0.0 -Status: Active +Status: Deprecated Last reviewed: 2018-11-20 --- diff --git a/e2e/content-services/about-content-services.component.e2e.ts b/e2e/content-services/about-content-services.component.e2e.ts index e30b5e3275..fbdf776663 100644 --- a/e2e/content-services/about-content-services.component.e2e.ts +++ b/e2e/content-services/about-content-services.component.e2e.ts @@ -29,8 +29,8 @@ describe('About Content Services', () => { beforeAll(async() => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.clickAboutButton(); }); diff --git a/e2e/content-services/comments/comment-component.e2e.ts b/e2e/content-services/comments/comment-component.e2e.ts index ab7c1e235f..68c57c822c 100644 --- a/e2e/content-services/comments/comment-component.e2e.ts +++ b/e2e/content-services/comments/comment-component.e2e.ts @@ -31,7 +31,7 @@ import { FileModel } from '../../models/ACS/file.model'; import { browser } from 'protractor'; import CONSTANTS = require('../../util/constants'); -describe('Comment Component', () => { +describe('Comment', () => { const loginPage: LoginPage = new LoginPage(); const contentServicesPage: ContentServicesPage = new ContentServicesPage(); @@ -68,100 +68,100 @@ describe('Comment Component', () => { acsUser = await usersActions.createUser(); }); - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - }); + describe('component', () => { - beforeEach(async () => { - await apiService.login(acsUser.email, acsUser.password); + beforeEach(async () => { + await apiService.login(acsUser.username, acsUser.password); - const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); + const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); - nodeId = pngUploadedFile.entry.id; + nodeId = pngUploadedFile.entry.id; - userFullName = pngUploadedFile.entry.createdByUser.displayName; + userFullName = pngUploadedFile.entry.createdByUser.displayName; - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - }); + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + }); - afterEach(async () => { - await apiService.loginWithProfile('admin'); - await uploadActions.deleteFileOrFolder(nodeId); - }); + afterEach(async () => { + await apiService.loginWithProfile('admin'); + await uploadActions.deleteFileOrFolder(nodeId); + await navigationBarPage.clickLogoutButton(); + }); - it('[C276947] Should be able to add a comment on ACS and view on ADF', async () => { - await apiService.getInstance().core.commentsApi.addComment(nodeId, { content: comments.test }); + it('[C276947] Should be able to add a comment on ACS and view on ADF', async () => { + await apiService.getInstance().core.commentsApi.addComment(nodeId, { content: comments.test }); - await viewerPage.viewFile(pngFileModel.name); + await viewerPage.viewFile(pngFileModel.name); - await viewerPage.clickInfoButton(); - await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.clickInfoButton(); + await viewerPage.checkInfoSideBarIsDisplayed(); - await commentsPage.checkCommentsTabIsSelected(); - await commentsPage.checkCommentInputIsDisplayed(); + await commentsPage.checkCommentsTabIsSelected(); + await commentsPage.checkCommentInputIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (1)'); - await expect(await commentsPage.getMessage(0)).toEqual(comments.test); - await expect(await commentsPage.getUserName(0)).toEqual(userFullName); - await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); - }); + await commentsPage.getTotalNumberOfComments('Comments (1)'); + await expect(await commentsPage.getMessage(0)).toEqual(comments.test); + await expect(await commentsPage.getUserName(0)).toEqual(userFullName); + await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + }); - it('[C276948] Should be able to add a comment on a file', async () => { - await viewerPage.viewFile(pngFileModel.name); + it('[C276948] Should be able to add a comment on a file', async () => { + await viewerPage.viewFile(pngFileModel.name); - await viewerPage.clickInfoButton(); - await viewerPage.checkInfoSideBarIsDisplayed(); - await viewerPage.clickOnCommentsTab(); + await viewerPage.clickInfoButton(); + await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.clickOnCommentsTab(); - await commentsPage.addComment(comments.first); - await commentsPage.checkUserIconIsDisplayed(); + await commentsPage.addComment(comments.first); + await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (1)'); - await expect(await commentsPage.getMessage(0)).toEqual(comments.first); - await expect(await commentsPage.getUserName(0)).toEqual(userFullName); - await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); - }); + await commentsPage.getTotalNumberOfComments('Comments (1)'); + await expect(await commentsPage.getMessage(0)).toEqual(comments.first); + await expect(await commentsPage.getUserName(0)).toEqual(userFullName); + await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + }); - it('[C280021] Should be able to add a multiline comment on a file', async () => { - await viewerPage.viewFile(pngFileModel.name); + it('[C280021] Should be able to add a multiline comment on a file', async () => { + await viewerPage.viewFile(pngFileModel.name); - await viewerPage.clickInfoButton(); - await viewerPage.checkInfoSideBarIsDisplayed(); - await viewerPage.clickOnCommentsTab(); + await viewerPage.clickInfoButton(); + await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.clickOnCommentsTab(); - await commentsPage.addComment(comments.multiline); - await commentsPage.checkUserIconIsDisplayed(); + await commentsPage.addComment(comments.multiline); + await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (1)'); - await expect(await commentsPage.getMessage(0)).toEqual(comments.multiline); - await expect(await commentsPage.getUserName(0)).toEqual(userFullName); - await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + await commentsPage.getTotalNumberOfComments('Comments (1)'); + await expect(await commentsPage.getMessage(0)).toEqual(comments.multiline); + await expect(await commentsPage.getUserName(0)).toEqual(userFullName); + await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); - await commentsPage.addComment(comments.second); - await commentsPage.checkUserIconIsDisplayed(); + await commentsPage.addComment(comments.second); + await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (2)'); - await expect(await commentsPage.getMessage(0)).toEqual(comments.second); - await expect(await commentsPage.getUserName(0)).toEqual(userFullName); - await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); - }); + await commentsPage.getTotalNumberOfComments('Comments (2)'); + await expect(await commentsPage.getMessage(0)).toEqual(comments.second); + await expect(await commentsPage.getUserName(0)).toEqual(userFullName); + await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + }); - it('[C280022] Should not be able to add an HTML or other code input into the comment input filed', async () => { - await viewerPage.viewFile(pngFileModel.name); - await viewerPage.clickInfoButton(); - await viewerPage.checkInfoSideBarIsDisplayed(); - await viewerPage.clickOnCommentsTab(); + it('[C280022] Should not be able to add an HTML or other code input into the comment input filed', async () => { + await viewerPage.viewFile(pngFileModel.name); + await viewerPage.clickInfoButton(); + await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.clickOnCommentsTab(); - await commentsPage.addComment(comments.codeType); - await commentsPage.checkUserIconIsDisplayed(); + await commentsPage.addComment(comments.codeType); + await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (1)'); - await expect(await commentsPage.getMessage(0)).toEqual('First name: Last name:'); - await expect(await commentsPage.getUserName(0)).toEqual(userFullName); - await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + await commentsPage.getTotalNumberOfComments('Comments (1)'); + await expect(await commentsPage.getMessage(0)).toEqual('First name: Last name:'); + await expect(await commentsPage.getUserName(0)).toEqual(userFullName); + await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); + }); }); describe('Consumer Permissions', () => { @@ -176,13 +176,13 @@ describe('Comment Component', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.CONSUMER }); pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, site.entry.guid); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); }); @@ -203,6 +203,7 @@ describe('Comment Component', () => { await commentsPage.checkCommentsTabIsSelected(); await commentsPage.checkCommentInputIsNotDisplayed(); + await viewerPage.clickCloseButton(); }); }); }); diff --git a/e2e/content-services/directives/create-folder-directive.e2e.ts b/e2e/content-services/directives/create-folder-directive.e2e.ts index 9924398f96..a254c16c23 100644 --- a/e2e/content-services/directives/create-folder-directive.e2e.ts +++ b/e2e/content-services/directives/create-folder-directive.e2e.ts @@ -46,7 +46,7 @@ describe('Create folder directive', () => { acsUser = await usersActions.createUser(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/directives/create-library-directive.e2e.ts b/e2e/content-services/directives/create-library-directive.e2e.ts index 53535116b3..ac547295cd 100644 --- a/e2e/content-services/directives/create-library-directive.e2e.ts +++ b/e2e/content-services/directives/create-library-directive.e2e.ts @@ -50,7 +50,7 @@ describe('Create library directive', () => { visibility: 'PUBLIC' }); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/content-services/directives/delete-directive.e2e.ts b/e2e/content-services/directives/delete-directive.e2e.ts index ccbb5ea7ec..c28ec6d221 100644 --- a/e2e/content-services/directives/delete-directive.e2e.ts +++ b/e2e/content-services/directives/delete-directive.e2e.ts @@ -30,19 +30,24 @@ import { } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { FolderModel } from '../../models/ACS/folder.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Delete Directive', () => { - const apiService = new ApiService(); + let baseFolderUploaded; + const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); const paginationPage = new PaginationPage(); + const navigationBarPage = new NavigationBarPage(); + const contentListPage = contentServicesPage.getDocumentList(); const acsUser = new UserModel(); const secondAcsUser = new UserModel(); + + const apiService = new ApiService(); const uploadActions = new UploadActions(apiService); const permissionActions = new PermissionActions(apiService); - let baseFolderUploaded; const usersActions = new UsersActions(apiService); const txtFileModel = new FileModel({ @@ -94,10 +99,10 @@ describe('Delete Directive', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); await usersActions.createUser(secondAcsUser); - await apiService.login(acsUser.email, acsUser.password); }); beforeEach(async () => { + await apiService.login(acsUser.username, acsUser.password); baseFolderUploaded = await uploadActions.createFolder( baseFolder.name, '-my-' @@ -105,6 +110,7 @@ describe('Delete Directive', () => { }); afterEach(async () => { + await apiService.loginWithProfile('admin'); await uploadActions.deleteFileOrFolder(baseFolderUploaded.entry.id); }); @@ -118,11 +124,15 @@ describe('Delete Directive', () => { await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, textFolderUploaded.entry.id); await uploadActions.createFolder(folderSecond.name, baseFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await BrowserActions.getUrl(`${browser.baseUrl}/files/${baseFolderUploaded.entry.id}`); await contentServicesPage.waitForTableBody(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260188] Delete multiple content', async () => { await contentListPage.selectRowWithKeyboard(txtFileModel.name); await contentListPage.dataTable.checkRowIsSelected('Display name', txtFileModel.name); @@ -184,6 +194,8 @@ describe('Delete Directive', () => { describe('When selection on multiple pages', () => { beforeEach(async () => { + await apiService.login(acsUser.username, acsUser.password); + await uploadActions.uploadFile( txtFileModel.location, txtFileModel.name, baseFolderUploaded.entry.id); await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, baseFolderUploaded.entry.id); await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, baseFolderUploaded.entry.id); @@ -191,11 +203,15 @@ describe('Delete Directive', () => { await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, baseFolderUploaded.entry.id); await uploadActions.uploadFile(secondPngFileModel.location, secondPngFileModel.name, baseFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await BrowserActions.getUrl(`${browser.baseUrl}/files/${baseFolderUploaded.entry.id}`); await contentServicesPage.waitForTableBody(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260191] Delete content selected from different pages', async () => { await contentServicesPage.sortByName('ASC'); await paginationPage.selectItemsPerPage('5'); @@ -216,13 +232,15 @@ describe('Delete Directive', () => { let fileTxt, filePdf, folderA, folderB; beforeAll(async () => { + await apiService.login(acsUser.username, acsUser.password); + createdSite = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(20).toLowerCase(), visibility: 'PRIVATE' }); await apiService.getInstance().core.sitesApi.addSiteMember(createdSite.entry.id, { - id: secondAcsUser.email, + id: secondAcsUser.username, role: 'SiteCollaborator' }); @@ -231,17 +249,17 @@ describe('Delete Directive', () => { folderA = await uploadActions.createFolder(StringUtil.generateRandomString(5), createdSite.entry.guid); folderB = await uploadActions.createFolder(StringUtil.generateRandomString(5), createdSite.entry.guid); - await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteManager', folderA); - await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteManager', fileTxt); - await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteConsumer', folderB); - await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteConsumer', filePdf); + await permissionActions.addRoleForUser(secondAcsUser.username, 'SiteManager', folderA); + await permissionActions.addRoleForUser(secondAcsUser.username, 'SiteManager', fileTxt); + await permissionActions.addRoleForUser(secondAcsUser.username, 'SiteConsumer', folderB); + await permissionActions.addRoleForUser(secondAcsUser.username, 'SiteConsumer', filePdf); await permissionActions.disableInheritedPermissionsForNode(folderA.entry.id); await permissionActions.disableInheritedPermissionsForNode(folderB.entry.id); await permissionActions.disableInheritedPermissionsForNode(fileTxt.entry.id); await permissionActions.disableInheritedPermissionsForNode(filePdf.entry.id); - await loginPage.login(secondAcsUser.email, secondAcsUser.password); + await loginPage.login(secondAcsUser.username, secondAcsUser.password); await BrowserActions.getUrl(`${browser.baseUrl}/files/${createdSite.entry.guid}`); await contentServicesPage.waitForTableBody(); }); @@ -250,6 +268,7 @@ describe('Delete Directive', () => { try { await apiService.getInstance().core.sitesApi.deleteSite(createdSite.entry.id, { permanent: true }); } catch (error) {} + await navigationBarPage.clickLogoutButton(); }); it('[C216426] Delete file without delete permissions', async () => { diff --git a/e2e/content-services/directives/download-directive.e2e.ts b/e2e/content-services/directives/download-directive.e2e.ts index 381d5dd84b..be3ae34cdb 100644 --- a/e2e/content-services/directives/download-directive.e2e.ts +++ b/e2e/content-services/directives/download-directive.e2e.ts @@ -71,7 +71,7 @@ describe('Version component actions', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.uploadFile( txtFileModel.location, txtFileModel.name, '-my-'); await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, '-my-'); @@ -82,7 +82,7 @@ describe('Version component actions', () => { await uploadActions.createFolder(folderSecond.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); diff --git a/e2e/content-services/directives/edit-folder-directive.e2e.ts b/e2e/content-services/directives/edit-folder-directive.e2e.ts index b00f95a82c..0ecfea606b 100644 --- a/e2e/content-services/directives/edit-folder-directive.e2e.ts +++ b/e2e/content-services/directives/edit-folder-directive.e2e.ts @@ -56,7 +56,7 @@ describe('Edit folder directive', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); await usersActions.createUser(anotherAcsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); editFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); anotherFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); @@ -68,14 +68,14 @@ describe('Edit folder directive', () => { { permissions: { locallySet: [{ - authorityId: anotherAcsUser.email, + authorityId: anotherAcsUser.username, name: 'Consumer', accessStatus: 'ALLOWED' }] } }); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -235,7 +235,7 @@ describe('Edit folder directive', () => { describe('Edit Folder - no permission', () => { beforeEach(async () => { await navigationBarPage.clickLogoutButton(); - await loginPage.login(anotherAcsUser.email, anotherAcsUser.password); + await loginPage.login(anotherAcsUser.username, anotherAcsUser.password); await BrowserActions.getUrl(browser.baseUrl + '/files/' + editFolder.entry.id); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); }); diff --git a/e2e/content-services/directives/favorite-directive.e2e.ts b/e2e/content-services/directives/favorite-directive.e2e.ts index ea3a016ade..001f0d2ae4 100644 --- a/e2e/content-services/directives/favorite-directive.e2e.ts +++ b/e2e/content-services/directives/favorite-directive.e2e.ts @@ -56,7 +56,7 @@ describe('Favorite directive', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); testFolder1 = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); testFolder2 = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); @@ -66,7 +66,7 @@ describe('Favorite directive', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/directives/restore-content-directive.e2e.ts b/e2e/content-services/directives/restore-content-directive.e2e.ts index 7375636464..b3036e463f 100644 --- a/e2e/content-services/directives/restore-content-directive.e2e.ts +++ b/e2e/content-services/directives/restore-content-directive.e2e.ts @@ -24,7 +24,6 @@ import { TrashcanPage } from '../../core/pages/trashcan.page'; import { ApiService, BreadcrumbPage, - BrowserActions, LoginPage, NotificationHistoryPage, StringUtil, @@ -71,7 +70,7 @@ describe('Restore content directive', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); await usersActions.createUser(anotherAcsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.createFolder(folderName, '-my-'); folderWithContent = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); @@ -80,8 +79,6 @@ describe('Restore content directive', () => { folderWithFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); subFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), folderWithFolder.entry.id); restoreFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); - - await loginPage.login(acsUser.email, acsUser.password); }); afterAll(async () => { @@ -90,14 +87,10 @@ describe('Restore content directive', () => { await uploadActions.deleteFileOrFolder(folderWithFolder.entry.id); }); - beforeEach(async () => { - await BrowserActions.closeMenuAndDialogs(); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - }); - describe('Restore same name folders', () => { + beforeAll(async () => { + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); await contentServicesPage.checkContentIsDisplayed(folderName); @@ -108,10 +101,13 @@ describe('Restore content directive', () => { await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderName); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260227] Should validate when restoring Folders with same name', async () => { await uploadActions.createFolder(folderName, '-my-'); await navigationBarPage.navigateToContentServices(); - await browser.refresh(); await contentServicesPage.waitForTableBody(); await contentServicesPage.checkContentIsDisplayed(folderName); await contentServicesPage.deleteContent(folderName); @@ -121,8 +117,10 @@ describe('Restore content directive', () => { await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderName); await trashcanPage.getDocumentList().dataTablePage().checkAllRows(); + await trashcanPage.clickRestore(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderName); + await browser.sleep(1000); + await navigationBarPage.navigateToContentServices(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.checkContentIsDisplayed(folderName); @@ -131,114 +129,129 @@ describe('Restore content directive', () => { }); }); - it('[C260238] Should restore a file', async () => { - await contentServicesPage.checkContentIsDisplayed(testFile.entry.name); - await contentServicesPage.deleteContent(testFile.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(testFile.entry.name); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(testFile.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(testFile.entry.name); - await trashcanPage.clickRestore(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(testFile.entry.name); + describe('Validate', () => { - await notificationHistoryPage.checkNotifyContains(testFile.entry.name + ' item restored'); + beforeAll(async () => { + await loginPage.login(acsUser.username, acsUser.password); + }); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - await contentServicesPage.checkContentIsDisplayed(testFile.entry.name); - await contentServicesPage.deleteContent(testFile.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(testFile.entry.name); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(testFile.entry.name); - }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); - it('[C260239] Should restore folder with content', async () => { - await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name); - await contentServicesPage.deleteContent(folderWithContent.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(folderWithContent.entry.name); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(folderWithContent.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithContent.entry.name); - await trashcanPage.clickRestore(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(folderWithContent.entry.name); + beforeEach(async () => { + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + }); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name); - await contentServicesPage.getDocumentList().dataTablePage().doubleClickRow('Display name', folderWithContent.entry.name); - await contentServicesPage.checkContentIsDisplayed(subFile.entry.name); - await notificationHistoryPage.checkNotifyContains(folderWithContent.entry.name + ' item restored'); - }); + it('[C260238] Should restore a file', async () => { + await contentServicesPage.checkContentIsDisplayed(testFile.entry.name); + await contentServicesPage.deleteContent(testFile.entry.name); + await contentServicesPage.checkContentIsNotDisplayed(testFile.entry.name); + await navigationBarPage.clickTrashcanButton(); + await trashcanPage.waitForTableBody(); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(testFile.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(testFile.entry.name); + await trashcanPage.clickRestore(); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(testFile.entry.name); - it('[C260240] Should validate restore when the original location no longer exists', async () => { - await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); - await contentServicesPage.openFolder(folderWithFolder.entry.name); - await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); - await contentServicesPage.deleteContent(subFolder.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(subFolder.entry.name); - await breadCrumbPage.chooseBreadCrumb(acsUser.email); - await contentServicesPage.waitForTableBody(); - await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); - await contentServicesPage.deleteContent(folderWithFolder.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(folderWithFolder.entry.name); + await notificationHistoryPage.checkNotifyContains(testFile.entry.name + ' item restored'); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(subFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderWithFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(subFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(subFolder.entry.name); - await trashcanPage.clickRestore(); - await notificationHistoryPage.checkNotifyContains(`Can't restore ${subFolder.entry.name} item, the original location no longer exists`); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(subFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderWithFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(subFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(subFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderWithFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithFolder.entry.name); - await trashcanPage.clickRestore(); - await notificationHistoryPage.checkNotifyContains('Restore successful'); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); - await contentServicesPage.openFolder(folderWithFolder.entry.name); - await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); - }); + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + await contentServicesPage.checkContentIsDisplayed(testFile.entry.name); + await contentServicesPage.deleteContent(testFile.entry.name); + await contentServicesPage.checkContentIsNotDisplayed(testFile.entry.name); + await navigationBarPage.clickTrashcanButton(); + await trashcanPage.waitForTableBody(); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(testFile.entry.name); + }); - it('[C260241] Should display restore icon both for file and folder', async () => { - await contentServicesPage.checkContentIsDisplayed(folderName); - await contentServicesPage.checkContentIsDisplayed(restoreFile.entry.name); - await contentServicesPage.deleteContent(folderName); - await contentServicesPage.deleteContent(restoreFile.entry.name); - await contentServicesPage.checkContentIsNotDisplayed(folderName); - await contentServicesPage.checkContentIsNotDisplayed(restoreFile.entry.name); + it('[C260239] Should restore folder with content', async () => { + await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name); + await contentServicesPage.deleteContent(folderWithContent.entry.name); + await contentServicesPage.checkContentIsNotDisplayed(folderWithContent.entry.name); + await navigationBarPage.clickTrashcanButton(); + await trashcanPage.waitForTableBody(); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(folderWithContent.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithContent.entry.name); + await trashcanPage.clickRestore(); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(folderWithContent.entry.name); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.checkRestoreButtonIsNotDisplayed(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderName); - await trashcanPage.checkRestoreButtonIsDisplayed(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsNotSelected(folderName); + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name); + await contentServicesPage.getDocumentList().dataTablePage().doubleClickRow('Display name', folderWithContent.entry.name); + await contentServicesPage.checkContentIsDisplayed(subFile.entry.name); + await notificationHistoryPage.checkNotifyContains(folderWithContent.entry.name + ' item restored'); + }); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(restoreFile.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); - await trashcanPage.checkRestoreButtonIsDisplayed(); + it('[C260240] Should validate restore when the original location no longer exists', async () => { + await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); + await contentServicesPage.openFolder(folderWithFolder.entry.name); + await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); + await contentServicesPage.deleteContent(subFolder.entry.name); + await contentServicesPage.checkContentIsNotDisplayed(subFolder.entry.name); + await breadCrumbPage.chooseBreadCrumb(acsUser.username); + await contentServicesPage.waitForTableBody(); + await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); + await contentServicesPage.deleteContent(folderWithFolder.entry.name); + await contentServicesPage.checkContentIsNotDisplayed(folderWithFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderName); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); - await trashcanPage.checkRestoreButtonIsDisplayed(); + await navigationBarPage.clickTrashcanButton(); + await trashcanPage.waitForTableBody(); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(subFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderWithFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(subFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(subFolder.entry.name); + await trashcanPage.clickRestore(); + await notificationHistoryPage.checkNotifyContains(`Can't restore ${subFolder.entry.name} item, the original location no longer exists`); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(subFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderWithFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(subFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(subFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderWithFolder.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithFolder.entry.name); + await trashcanPage.clickRestore(); + await notificationHistoryPage.checkNotifyContains('Restore successful'); + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); + await contentServicesPage.openFolder(folderWithFolder.entry.name); + await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); + }); + + it('[C260241] Should display restore icon both for file and folder', async () => { + await contentServicesPage.checkContentIsDisplayed(folderName); + await contentServicesPage.checkContentIsDisplayed(restoreFile.entry.name); + await contentServicesPage.deleteContent(folderName); + await contentServicesPage.deleteContent(restoreFile.entry.name); + + await navigationBarPage.clickTrashcanButton(); + await trashcanPage.waitForTableBody(); + await trashcanPage.checkRestoreButtonIsNotDisplayed(); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderName); + await trashcanPage.checkRestoreButtonIsDisplayed(); + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsNotSelected(folderName); + + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(restoreFile.entry.name); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); + await trashcanPage.checkRestoreButtonIsDisplayed(); + + await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(folderName); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderName); + await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); + await trashcanPage.checkRestoreButtonIsDisplayed(); + }); }); describe('Restore deleted library', () => { + beforeAll(async () => { - await apiService.login(acsUser.email, acsUser.password); - const publicSiteName = `00${StringUtil.generateRandomString(5)}`; + await apiService.login(acsUser.username, acsUser.password); + const publicSiteName = `public-${StringUtil.generateRandomString(5)}`; const publicSiteBody = { visibility: 'PUBLIC', title: publicSiteName }; publicSite = await apiService.getInstance().core.sitesApi.createSite(publicSiteBody); siteFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), publicSite.entry.guid); @@ -246,8 +259,19 @@ describe('Restore content directive', () => { await apiService.getInstance().core.sitesApi.deleteSite(publicSite.entry.id); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + + beforeEach(async () => { + await loginPage.login(acsUser.username, acsUser.password); + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + }); + afterAll(async () => { try { + await apiService.loginWithProfile('admin'); await apiService.getInstance().core.sitesApi.deleteSite(publicSite.entry.id, { permanent: true }); } catch (error) { } @@ -261,8 +285,11 @@ describe('Restore content directive', () => { await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id); await trashcanPage.clickRestore(); + await browser.sleep(browser.params.testConfig.timeouts.index_search); + await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); + await contentServicesPage.selectSite(publicSite.entry.title); await contentServicesPage.waitForTableBody(); await contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name); @@ -276,7 +303,7 @@ describe('Restore content directive', () => { let parentFolder, folderWithin, pdfFile, pngFile, mainFile, mainFolder; beforeAll(async () => { - await apiService.login(anotherAcsUser.email, anotherAcsUser.password); + await apiService.login(anotherAcsUser.username, anotherAcsUser.password); await uploadActions.createFolder(folderName, '-my-'); parentFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); folderWithin = await uploadActions.createFolder(StringUtil.generateRandomString(5), parentFolder.entry.id); @@ -285,8 +312,16 @@ describe('Restore content directive', () => { mainFile = await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-'); mainFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); - await loginPage.login(anotherAcsUser.email, anotherAcsUser.password); - await contentServicesPage.goToDocumentList(); + await loginPage.login(anotherAcsUser.username, anotherAcsUser.password); + }); + + beforeEach(async () => { + await navigationBarPage.navigateToContentServices(); + await contentServicesPage.waitForTableBody(); + }); + + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); }); afterAll(async () => { diff --git a/e2e/content-services/document-list/document-list-actions.e2e.ts b/e2e/content-services/document-list/document-list-actions.e2e.ts index 8c4d40a5e2..ec1bb8873a 100644 --- a/e2e/content-services/document-list/document-list-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-actions.e2e.ts @@ -68,7 +68,7 @@ describe('Document List Component - Actions', () => { folderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`; await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); pdfUploadedNode = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, '-my-'); await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-'); uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); @@ -77,7 +77,7 @@ describe('Document List Component - Actions', () => { fileNames = StringUtil.generateFilesNames(1, nrOfFiles, files.base, files.extension); await uploadActions.createEmptyFiles(fileNames, uploadedFolder.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await browser.sleep(browser.params.testConfig.timeouts.index_search); // wait search index previous file/folder uploaded }); diff --git a/e2e/content-services/document-list/document-list-component.e2e.ts b/e2e/content-services/document-list/document-list-component.e2e.ts index 8d76e68288..e8d9a2aa86 100644 --- a/e2e/content-services/document-list/document-list-component.e2e.ts +++ b/e2e/content-services/document-list/document-list-component.e2e.ts @@ -20,12 +20,16 @@ import { browser } from 'protractor'; import { ApiService, LoginPage, StringUtil, UploadActions, UsersActions, ViewerPage } from '@alfresco/adf-testing'; import { FileModel } from '../../models/ACS/file.model'; import moment from 'moment-es6'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Document List Component', () => { - const loginPage = new LoginPage(); - const contentServicesPage = new ContentServicesPage(); let uploadedFolder, uploadedFolderExtra; + + const loginPage = new LoginPage(); + const navigationBarPage = new NavigationBarPage(); + + const contentServicesPage = new ContentServicesPage(); const apiService = new ApiService(); const usersActions = new UsersActions(apiService); @@ -82,7 +86,7 @@ describe('Document List Component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); pdfUploadedNode = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, '-my-'); docxUploadedNode = await uploadActions.uploadFile(docxFileModel.location, docxFileModel.name, '-my-'); @@ -106,7 +110,11 @@ describe('Document List Component', () => { }); beforeEach(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); + }); + + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); }); it('[C279926] Should only display the user\'s files and folders', async () => { @@ -126,7 +134,7 @@ describe('Document List Component', () => { }); it('[C279928] Should be able to display date with timeAgo', async () => { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); timeAgoUploadedNode = await uploadActions.uploadFile(timeAgoFileModel.location, timeAgoFileModel.name, '-my-'); await contentServicesPage.goToDocumentList(); const dateValue = await contentServicesPage.getColumnValueForRow(timeAgoFileModel.name, 'Created'); @@ -134,7 +142,7 @@ describe('Document List Component', () => { }); it('[C279929] Should be able to display the date with date type', async () => { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); mediumDateUploadedNode = await uploadActions.uploadFile(mediumFileModel.location, mediumFileModel.name, '-my-'); const createdDate = moment(mediumDateUploadedNode.createdAt).format('ll'); await contentServicesPage.goToDocumentList(); @@ -166,18 +174,20 @@ describe('Document List Component', () => { await apiService.loginWithProfile('admin'); const user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); fileANode = await uploadActions.uploadFile(fakeFileA.location, fakeFileA.name, '-my-'); fileBNode = await uploadActions.uploadFile(fakeFileB.location, fakeFileB.name, '-my-'); fileCNode = await uploadActions.uploadFile(fakeFileC.location, fakeFileC.name, '-my-'); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await contentServicesPage.goToDocumentList(); }); afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + await apiService.loginWithProfile('admin'); if (fileANode) { await uploadActions.deleteFileOrFolder(fileANode.entry.id); @@ -215,86 +225,98 @@ describe('Document List Component', () => { }); }); - it('[C279959] Should display empty folder state for new folders', async () => { - const folderName = 'BANANA'; - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - await loginPage.login(acsUser.email, acsUser.password); - await contentServicesPage.goToDocumentList(); - await contentServicesPage.createNewFolder(folderName); - await contentServicesPage.openFolder(folderName); - await contentServicesPage.checkEmptyFolderTextToBe('This folder is empty'); - await contentServicesPage.checkEmptyFolderImageUrlToContain('/assets/images/empty_doc_lib.svg'); - }); + describe('', () => { - it('[C272775] Should be able to upload a file in new folder', async () => { - const testFile = new FileModel({ - name: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_name, - location: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_location + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); }); - /* cspell:disable-next-line */ - const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); - await contentServicesPage.goToDocumentList(); - await contentServicesPage.checkContentIsDisplayed(uploadedFolder.entry.name); - await contentServicesPage.openFolder(uploadedFolder.entry.name); - await contentServicesPage.uploadFile(testFile.location); - await contentServicesPage.checkContentIsDisplayed(testFile.name); - }); - it('[C261997] Should be able to clean Recent Files history', async () => { - await apiService.loginWithProfile('admin'); - const cleanUser = await usersActions.createUser(); - await loginPage.login(cleanUser.email, cleanUser.password); - await contentServicesPage.clickOnContentServices(); - await contentServicesPage.checkRecentFileToBeShowed(); - const icon = await contentServicesPage.getRecentFileIcon(); - await expect(icon).toBe('history'); - await contentServicesPage.expandRecentFiles(); - await contentServicesPage.checkEmptyRecentFileIsDisplayed(); - await contentServicesPage.closeRecentFiles(); - }); + it('[C279959] Should display empty folder state for new folders', async () => { + const folderName = 'BANANA'; + await apiService.loginWithProfile('admin'); + acsUser = await usersActions.createUser(); - it('[C279970] Should display Islocked field for folders', async () => { - const folderNameA = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; - const folderNameB = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - uploadedFolder = await uploadActions.createFolder(folderNameA, '-my-'); - uploadedFolderExtra = await uploadActions.createFolder(folderNameB, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); - await contentServicesPage.goToDocumentList(); - await contentServicesPage.checkContentIsDisplayed(folderNameA); - await contentServicesPage.checkContentIsDisplayed(folderNameB); - await contentServicesPage.checkLockIsDisplayedForElement(folderNameA); - await contentServicesPage.checkLockIsDisplayedForElement(folderNameB); - }); - - it('[C269086] Should display Islocked field for files', async () => { - const testFileA = new FileModel({ - name: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_name, - location: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_path + await loginPage.login(acsUser.username, acsUser.password); + await contentServicesPage.goToDocumentList(); + await contentServicesPage.createNewFolder(folderName); + await contentServicesPage.openFolder(folderName); + await contentServicesPage.checkEmptyFolderTextToBe('This folder is empty'); + await contentServicesPage.checkEmptyFolderImageUrlToContain('/assets/images/empty_doc_lib.svg'); }); - const testFileB = new FileModel({ - name: browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_name, - location: browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_path + + it('[C272775] Should be able to upload a file in new folder', async () => { + const testFile = new FileModel({ + name: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_name, + location: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_location + }); + /* cspell:disable-next-line */ + const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; + await apiService.loginWithProfile('admin'); + acsUser = await usersActions.createUser(); + await apiService.login(acsUser.username, acsUser.password); + uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); + + await loginPage.login(acsUser.username, acsUser.password); + await contentServicesPage.goToDocumentList(); + await contentServicesPage.checkContentIsDisplayed(uploadedFolder.entry.name); + await contentServicesPage.openFolder(uploadedFolder.entry.name); + await contentServicesPage.uploadFile(testFile.location); + await contentServicesPage.checkContentIsDisplayed(testFile.name); + }); + + it('[C261997] Should be able to clean Recent Files history', async () => { + await apiService.loginWithProfile('admin'); + const cleanUser = await usersActions.createUser(); + + await loginPage.login(cleanUser.username, cleanUser.password); + await contentServicesPage.clickOnContentServices(); + await contentServicesPage.checkRecentFileToBeShowed(); + const icon = await contentServicesPage.getRecentFileIcon(); + await expect(icon).toBe('history'); + await contentServicesPage.expandRecentFiles(); + await contentServicesPage.checkEmptyRecentFileIsDisplayed(); + await contentServicesPage.closeRecentFiles(); + }); + + it('[C279970] Should display Islocked field for folders', async () => { + const folderNameA = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; + const folderNameB = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; + await apiService.loginWithProfile('admin'); + acsUser = await usersActions.createUser(); + await apiService.login(acsUser.username, acsUser.password); + uploadedFolder = await uploadActions.createFolder(folderNameA, '-my-'); + uploadedFolderExtra = await uploadActions.createFolder(folderNameB, '-my-'); + + await loginPage.login(acsUser.username, acsUser.password); + await contentServicesPage.goToDocumentList(); + await contentServicesPage.checkContentIsDisplayed(folderNameA); + await contentServicesPage.checkContentIsDisplayed(folderNameB); + await contentServicesPage.checkLockIsDisplayedForElement(folderNameA); + await contentServicesPage.checkLockIsDisplayedForElement(folderNameB); + }); + + it('[C269086] Should display Islocked field for files', async () => { + const testFileA = new FileModel({ + name: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_name, + location: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_path + }); + const testFileB = new FileModel({ + name: browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_name, + location: browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_path + }); + await apiService.loginWithProfile('admin'); + acsUser = await usersActions.createUser(); + await apiService.login(acsUser.username, acsUser.password); + testFileNode = await uploadActions.uploadFile(testFileA.location, testFileA.name, '-my-'); + pdfBFileNode = await uploadActions.uploadFile(testFileB.location, testFileB.name, '-my-'); + + await loginPage.login(acsUser.username, acsUser.password); + await contentServicesPage.goToDocumentList(); + await contentServicesPage.checkContentIsDisplayed(testFileA.name); + await contentServicesPage.checkContentIsDisplayed(testFileB.name); + await contentServicesPage.checkLockIsDisplayedForElement(testFileA.name); + await contentServicesPage.checkLockIsDisplayedForElement(testFileB.name); }); - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - testFileNode = await uploadActions.uploadFile(testFileA.location, testFileA.name, '-my-'); - pdfBFileNode = await uploadActions.uploadFile(testFileB.location, testFileB.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); - await contentServicesPage.goToDocumentList(); - await contentServicesPage.checkContentIsDisplayed(testFileA.name); - await contentServicesPage.checkContentIsDisplayed(testFileB.name); - await contentServicesPage.checkLockIsDisplayedForElement(testFileA.name); - await contentServicesPage.checkLockIsDisplayedForElement(testFileB.name); }); describe('Once uploaded 20 folders', () => { @@ -304,7 +326,7 @@ describe('Document List Component', () => { folderCreated = []; await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); let folderName = ''; let folder = null; @@ -319,10 +341,12 @@ describe('Document List Component', () => { for (let i = 0; i < folderCreated.length; i++) { await uploadActions.deleteFileOrFolder(folderCreated[i].entry.id); } + await navigationBarPage.clickLogoutButton(); }); it('[C277093] Should sort files with Items per page set to default', async () => { - await loginPage.login(acsUser.email, acsUser.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.checkListIsSortedByNameColumn('asc'); }); @@ -340,10 +364,10 @@ describe('Document List Component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); file = await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts b/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts index e75e4b1bc2..b520db47d5 100644 --- a/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts @@ -71,10 +71,10 @@ describe('Document List Component', () => { visibility: 'PUBLIC' }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: anotherAcsUser.email, + id: anotherAcsUser.username, role: CONSTANTS.CS_USER_ROLES.COLLABORATOR }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); destinationFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); sourceFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); @@ -90,7 +90,7 @@ describe('Document List Component', () => { { permissions: { locallySet: [{ - authorityId: anotherAcsUser.email, + authorityId: anotherAcsUser.username, name: 'Consumer', accessStatus: 'ALLOWED' }] @@ -101,8 +101,6 @@ describe('Document List Component', () => { }); afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - await apiService.loginWithProfile('admin'); await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); await uploadActions.deleteFileOrFolder(uploadedFile.entry.id); @@ -112,8 +110,9 @@ describe('Document List Component', () => { }); describe('Document List Component - Actions Move and Copy', () => { + beforeAll(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); beforeEach(async () => { @@ -122,6 +121,10 @@ describe('Document List Component', () => { await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260128] Move - Same name file', async () => { await contentServicesPage.checkContentIsDisplayed(pdfFileModel.name); await contentServicesPage.getDocumentList().rightClickOnRow(pdfFileModel.name); @@ -206,13 +209,18 @@ describe('Document List Component', () => { }); }); - describe('Document List actionns - Move, Copy on no permission folder', () => { + describe('Document List actions - Move, Copy on no permission folder', () => { + beforeAll(async () => { - await loginPage.login(anotherAcsUser.email, anotherAcsUser.password); + await loginPage.login(anotherAcsUser.username, anotherAcsUser.password); await BrowserActions.getUrl(`${browser.baseUrl}/files/${sourceFolder.entry.id}`); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260133] Move - no permission folder', async () => { await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); await contentServicesPage.getDocumentList().rightClickOnRow(subFolder.entry.name); @@ -269,7 +277,8 @@ describe('Document List Component', () => { await contentServicesPage.checkContentIsDisplayed(pdfFileModel.name); await contentServicesPage.checkDeleteIsDisabled(pdfFileModel.name); - await loginPage.login(acsUser.email, acsUser.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUser.username, acsUser.password); await BrowserActions.getUrl(`${browser.baseUrl}/files/${sourceFolder.entry.id}`); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); diff --git a/e2e/content-services/document-list/document-list-folder-actions.e2e.ts b/e2e/content-services/document-list/document-list-folder-actions.e2e.ts index 3d80002bff..8df60c0d15 100644 --- a/e2e/content-services/document-list/document-list-folder-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-folder-actions.e2e.ts @@ -31,6 +31,7 @@ import { import { ContentServicesPage } from '../../core/pages/content-services.page'; import { InfinitePaginationPage } from '../../core/pages/infinite-pagination.page'; import { FolderModel } from '../../models/ACS/folder.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Document List Component - Actions', () => { @@ -41,6 +42,8 @@ describe('Document List Component - Actions', () => { const paginationPage = new PaginationPage(); const breadCrumbDropdownPage = new BreadcrumbDropdownPage(); const breadCrumbPage = new BreadcrumbPage(); + const navigationBarPage = new NavigationBarPage(); + const apiService = new ApiService(); const usersActions = new UsersActions(apiService); @@ -63,7 +66,7 @@ describe('Document List Component - Actions', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(contentServicesUser); - await apiService.login(contentServicesUser.email, contentServicesUser.password); + await apiService.login(contentServicesUser.username, contentServicesUser.password); folder1 = await uploadActions.createFolder('A' + folderModel1.name, '-my-'); folder2 = await uploadActions.createFolder('B' + folderModel2.name, '-my-'); folder3 = await uploadActions.createFolder('C' + folderModel3.name, '-my-'); @@ -74,13 +77,17 @@ describe('Document List Component - Actions', () => { }); beforeEach(async () => { - await loginPage.login(contentServicesUser.email, contentServicesUser.password); + await loginPage.login(contentServicesUser.username, contentServicesUser.password); await contentServicesPage.goToDocumentList(); await paginationPage.selectItemsPerPage('5'); await contentServicesPage.checkAcsContainer(); await contentListPage.waitForTableBody(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterAll(async () => { await apiService.loginWithProfile('admin'); for (const folder of folders) { @@ -134,11 +141,11 @@ describe('Document List Component - Actions', () => { await contentNodeSelector.checkDialogIsDisplayed(); await breadCrumbDropdownPage.clickParentFolder(); await breadCrumbDropdownPage.checkBreadCrumbDropdownIsDisplayed(); - await breadCrumbDropdownPage.choosePath(contentServicesUser.email); + await breadCrumbDropdownPage.choosePath(contentServicesUser.username); await contentNodeSelector.clickMoveCopyButton(); await contentServicesPage.checkContentIsNotDisplayed('A' + folderModel1.name); - await breadCrumbPage.chooseBreadCrumb(contentServicesUser.email); + await breadCrumbPage.chooseBreadCrumb(contentServicesUser.username); await contentServicesPage.waitForTableBody(); await contentServicesPage.checkContentIsDisplayed('A' + folderModel1.name); }); @@ -177,7 +184,7 @@ describe('Document List Component - Actions', () => { await contentNodeSelector.clickMoveCopyButton(); await contentServicesPage.checkContentIsDisplayed('A' + folderModel1.name); await paginationPage.clickOnNextPage(); - await contentServicesPage.getDocumentList().waitForTableBody(); + await contentServicesPage.getDocumentList().dataTable.waitTillContentLoaded(); await contentServicesPage.openFolder('F' + folderModel6.name); await contentServicesPage.checkContentIsDisplayed('A' + folderModel1.name); }); diff --git a/e2e/content-services/document-list/document-list-gallery.e2e.ts b/e2e/content-services/document-list/document-list-gallery.e2e.ts index 35aba75405..c2592a5872 100644 --- a/e2e/content-services/document-list/document-list-gallery.e2e.ts +++ b/e2e/content-services/document-list/document-list-gallery.e2e.ts @@ -61,14 +61,14 @@ describe('Document List Component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); filePdfNode = await uploadActions.uploadFile(pdfFile.location, pdfFile.name, '-my-'); fileTestNode = await uploadActions.uploadFile(testFile.location, testFile.name, '-my-'); fileDocxNode = await uploadActions.uploadFile(docxFile.location, docxFile.name, '-my-'); folderNode = await uploadActions.createFolder(folderName, '-my-'); filePDFSubNode = await uploadActions.uploadFile(pdfFile.location, pdfFile.name, folderNode.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/content-services/document-list/document-list-pagination.e2e.ts b/e2e/content-services/document-list/document-list-pagination.e2e.ts index 8ecc4ed6b3..1316c598f5 100644 --- a/e2e/content-services/document-list/document-list-pagination.e2e.ts +++ b/e2e/content-services/document-list/document-list-pagination.e2e.ts @@ -77,7 +77,7 @@ describe('Document List - Pagination', () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const folderThreeUploadedModel = await uploadActions.createFolder(folderThreeModel.name, '-my-'); const newFolderUploadedModel = await uploadActions.createFolder(newFolderModel.name, '-my-'); @@ -85,7 +85,7 @@ describe('Document List - Pagination', () => { await uploadActions.createEmptyFiles(fileNames, newFolderUploadedModel.entry.id); await uploadActions.createEmptyFiles(secondSetOfFiles, folderThreeUploadedModel.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -121,13 +121,13 @@ describe('Document List - Pagination', () => { await paginationPage.checkPreviousPageButtonIsDisabled(); await navigationBarPage.clickLogoutButton(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual('20'); await navigationBarPage.clickLogoutButton(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); it('[C260069] Should be able to set Items per page to 5', async () => { @@ -175,7 +175,7 @@ describe('Document List - Pagination', () => { await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual('5'); await navigationBarPage.clickLogoutButton(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); it('[C260067] Should be able to set Items per page to 10', async () => { @@ -203,7 +203,7 @@ describe('Document List - Pagination', () => { await expect(await paginationPage.getCurrentItemsPerPage()).toEqual('10'); await navigationBarPage.clickLogoutButton(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); currentPage = 1; }); @@ -374,7 +374,7 @@ describe('Document List - Pagination', () => { await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual('5'); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await contentServicesPage.createNewFolder(folderTwoModel.name); const nodeIdSubFolderTwo = await contentServicesPage.getAttributeValueForElement(folderTwoModel.name, 'Node id'); await contentServicesPage.openFolder(folderTwoModel.name); @@ -415,7 +415,7 @@ describe('Document List - Pagination', () => { const nodeIdSubFolderTwo = await contentServicesPage.getAttributeValueForElement(folderTwoModel.name, 'Node id'); await contentServicesPage.openFolder(folderTwoModel.name); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); for (let i = 0; i < numberOfSubFolders; i++) { await uploadActions.createFolder('subfolder' + (i + 1), nodeIdSubFolderTwo); } diff --git a/e2e/content-services/document-list/document-list-permissions.e2e.ts b/e2e/content-services/document-list/document-list-permissions.e2e.ts index 4263bff4d8..f09513a64e 100644 --- a/e2e/content-services/document-list/document-list-permissions.e2e.ts +++ b/e2e/content-services/document-list/document-list-permissions.e2e.ts @@ -43,7 +43,7 @@ describe('Document List Component', () => { privateSite = await apiService.getInstance().core.sitesApi.createSite(privateSiteBody); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/content-services/document-list/document-list-properties.e2e.ts b/e2e/content-services/document-list/document-list-properties.e2e.ts index 2d19b0d080..450b2dd676 100644 --- a/e2e/content-services/document-list/document-list-properties.e2e.ts +++ b/e2e/content-services/document-list/document-list-properties.e2e.ts @@ -43,12 +43,12 @@ describe('Document List Component - Properties', () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); parentFolder = await uploadActions.createFolder('parentFolder', '-my-'); subFolder = await uploadActions.createFolder('subFolder', parentFolder.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterEach(async () => { diff --git a/e2e/content-services/document-list/document-list-selection.e2e.ts b/e2e/content-services/document-list/document-list-selection.e2e.ts index d4634f0d5e..9bc5fcc713 100644 --- a/e2e/content-services/document-list/document-list-selection.e2e.ts +++ b/e2e/content-services/document-list/document-list-selection.e2e.ts @@ -43,9 +43,9 @@ describe('Document List - Selection', () => { try { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.createNewFolder(folderModel.name); diff --git a/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts b/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts index 501b15cf57..ddbce55acc 100644 --- a/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts +++ b/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts @@ -77,7 +77,7 @@ describe('Document List Component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); filePdfNode = await uploadActions.uploadFile(pdfFile.location, pdfFile.name, '-my-'); fileTestNode = await uploadActions.uploadFile(testFile.location, testFile.name, '-my-'); fileDocxNode = await uploadActions.uploadFile(docxFile.location, docxFile.name, '-my-'); @@ -100,13 +100,17 @@ describe('Document List Component', () => { if (folderNode) { await uploadActions.deleteFileOrFolder(folderNode.entry.id); } - }); + }); beforeEach(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260108] Should display tooltip for file\'s name', async () => { await expect(await contentServicesPage.getDocumentList().getTooltip(pdfFile.name)).toEqual(pdfFile.name); }); diff --git a/e2e/content-services/lock-file.e2e.ts b/e2e/content-services/lock-file.e2e.ts index dc86e8ab3f..45427a7b14 100644 --- a/e2e/content-services/lock-file.e2e.ts +++ b/e2e/content-services/lock-file.e2e.ts @@ -54,7 +54,7 @@ describe('Lock File', () => { await usersActions.createUser(adminUser); await usersActions.createUser(managerUser); - await apiService.login(adminUser.email, adminUser.password); + await apiService.login(adminUser.username, adminUser.password); site = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(), @@ -66,7 +66,7 @@ describe('Lock File', () => { documentLibrary = resultNode.list.entries[0].entry.id; await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: managerUser.email, + id: managerUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); }); @@ -83,38 +83,25 @@ describe('Lock File', () => { }); beforeEach(async () => { - try { - const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, documentLibrary); - nodeId = pngUploadedFile.entry.id; - await loginPage.login(adminUser.email, adminUser.password); - await navigationBarPage.openContentServicesFolder(documentLibrary); + const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, documentLibrary); + nodeId = pngUploadedFile.entry.id; + await loginPage.login(adminUser.username, adminUser.password); + await navigationBarPage.openContentServicesFolder(documentLibrary); - await contentServices.waitForTableBody(); - } catch (error) { - } - }); + await contentServices.waitForTableBody(); + }); afterEach(async () => { - try { - await apiService.login(adminUser.email, adminUser.password); - - await uploadActions.deleteFileOrFolder(nodeId); - - } catch (error) { - } - }); + await apiService.login(adminUser.username, adminUser.password); + await uploadActions.deleteFileOrFolder(nodeId); + await navigationBarPage.clickLogoutButton(); + }); afterAll(async () => { - try { - await apiService.login(adminUser.email, adminUser.password); - - await apiService.getInstance().core.nodesApi.unlockNode(lockedFileNodeId); - - await uploadActions.deleteFileOrFolder(lockedFileNodeId); - - } catch (error) { - } - }); + await apiService.login(adminUser.username, adminUser.password); + await apiService.getInstance().core.nodesApi.unlockNode(lockedFileNodeId); + await uploadActions.deleteFileOrFolder(lockedFileNodeId); + }); it('[C286604] Should be able to open Lock file option by clicking the lock image', async () => { await contentServices.lockContent(pngFileModel.name); @@ -158,28 +145,31 @@ describe('Lock File', () => { await contentServices.checkUnlockedIcon(pngFileModel.name); }); - }); + }); describe('Locked file without owner permissions', () => { + beforeEach(async () => { + await apiService.login(adminUser.username, adminUser.password); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, documentLibrary); nodeId = pngUploadedFile.entry.id; - await loginPage.login(managerUser.email, managerUser.password); + await loginPage.login(managerUser.username, managerUser.password); await navigationBarPage.openContentServicesFolder(documentLibrary); }); afterEach(async () => { - await apiService.login(adminUser.email, adminUser.password); + await apiService.login(adminUser.username, adminUser.password); try { await apiService.getInstance().core.nodesApi.unlockNode(nodeId); await uploadActions.deleteFileOrFolder(nodeId); } catch (error) { } - }); + await navigationBarPage.clickLogoutButton(); + }); it('[C286610] Should not be able to delete a locked file', async () => { await contentServices.lockContent(pngFileModel.name); @@ -193,7 +183,7 @@ describe('Lock File', () => { } catch (error) { await expect(error.status).toEqual(409); } - }); + }); it('[C286611] Should not be able to rename a locked file', async () => { await contentServices.lockContent(pngFileModel.name); @@ -208,7 +198,7 @@ describe('Lock File', () => { } catch (error) { await expect(error.status).toEqual(409); } - }); + }); it('[C286612] Should not be able to move a locked file', async () => { await contentServices.lockContent(pngFileModel.name); @@ -239,37 +229,28 @@ describe('Lock File', () => { await expect(error.status).toEqual(409); } }); - }); + }); describe('Locked file with owner permissions', () => { let pngFileToBeLocked; beforeAll(async () => { - try { - pngFileToBeLocked = await uploadActions.uploadFile(pngFileToLock.location, pngFileToLock.name, documentLibrary); - lockedFileNodeId = pngFileToBeLocked.entry.id; - } catch (error) { - } - }); + pngFileToBeLocked = await uploadActions.uploadFile(pngFileToLock.location, pngFileToLock.name, documentLibrary); + lockedFileNodeId = pngFileToBeLocked.entry.id; + }); beforeEach(async () => { - try { - const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, documentLibrary); - nodeId = pngUploadedFile.entry.id; - await loginPage.login(adminUser.email, adminUser.password); - await navigationBarPage.openContentServicesFolder(documentLibrary); - } catch (error) { - } - }); + const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, documentLibrary); + nodeId = pngUploadedFile.entry.id; + await loginPage.login(adminUser.username, adminUser.password); + await navigationBarPage.openContentServicesFolder(documentLibrary); + }); afterEach(async () => { - await apiService.login(adminUser.email, adminUser.password); - - try { - await uploadActions.deleteFileOrFolder(nodeId); - } catch (error) { - } - }); + await apiService.login(adminUser.username, adminUser.password); + await uploadActions.deleteFileOrFolder(nodeId); + await navigationBarPage.clickLogoutButton(); + }); it('[C286614] Owner of the locked file should be able to rename if Allow owner to modify is checked', async () => { await contentServices.lockContent(pngFileModel.name); @@ -284,7 +265,7 @@ describe('Lock File', () => { await expect(response.entry.name).toEqual('My new name'); } catch (error) { } - }); + }); it('[C286615] Owner of the locked file should be able to update a new version if Allow owner to modify is checked', async () => { await contentServices.lockContent(pngFileModel.name); @@ -299,7 +280,7 @@ describe('Lock File', () => { await expect(response.entry.modifiedAt.getTime()).toBeGreaterThan(response.entry.createdAt.getTime()); } catch (error) { } - }); + }); it('[C286616] Owner of the locked file should be able to move if Allow owner to modify is checked', async () => { await contentServices.lockContent(pngFileModel.name); @@ -317,7 +298,7 @@ describe('Lock File', () => { await expect(movedFile.entry.parentId).not.toEqual(documentLibrary); } catch (error) { } - }); + }); it('[C286617] Owner of the locked file should be able to delete if Allow owner to modify is checked', async () => { await contentServices.lockContent(pngFileToLock.name); @@ -330,5 +311,5 @@ describe('Lock File', () => { await contentServices.deleteContent(pngFileToBeLocked.entry.name); await contentServices.checkContentIsNotDisplayed(pngFileToBeLocked.entry.name); }); - }); + }); }); diff --git a/e2e/content-services/metadata/aspect-oriented-config.e2e.ts b/e2e/content-services/metadata/aspect-oriented-config.e2e.ts index e016b5ad75..4ae87bd71f 100644 --- a/e2e/content-services/metadata/aspect-oriented-config.e2e.ts +++ b/e2e/content-services/metadata/aspect-oriented-config.e2e.ts @@ -68,11 +68,11 @@ describe('Aspect oriented config', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const uploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); const aspects = await apiService.getInstance().core.nodesApi.getNode(uploadedFile.entry.id); diff --git a/e2e/content-services/metadata/metadata-permissions.e2e.ts b/e2e/content-services/metadata/metadata-permissions.e2e.ts index df056c14c1..ec946cf510 100644 --- a/e2e/content-services/metadata/metadata-permissions.e2e.ts +++ b/e2e/content-services/metadata/metadata-permissions.e2e.ts @@ -77,17 +77,17 @@ describe('permissions', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: consumerUser.email, + id: consumerUser.username, role: CONSTANTS.CS_USER_ROLES.CONSUMER }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: collaboratorUser.email, + id: collaboratorUser.username, role: CONSTANTS.CS_USER_ROLES.COLLABORATOR }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: contributorUser.email, + id: contributorUser.username, role: CONSTANTS.CS_USER_ROLES.CONTRIBUTOR }); @@ -95,12 +95,15 @@ describe('permissions', () => { }); afterAll(async () => { - await navigationBarPage.clickLogoutButton(); await apiService.getInstance().core.sitesApi.deleteSite(site.entry.id, { permanent: true }); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => { - await loginPage.login(consumerUser.email, consumerUser.password); + await loginPage.login(consumerUser.username, consumerUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); @@ -112,7 +115,7 @@ describe('permissions', () => { }); it('[C279971] Should be possible edit metadata properties when the user is a collaborator user', async () => { - await loginPage.login(collaboratorUser.email, collaboratorUser.password); + await loginPage.login(collaboratorUser.username, collaboratorUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); @@ -132,7 +135,7 @@ describe('permissions', () => { }); it('[C279972] Should be possible edit metadata properties when the user is a contributor user', async () => { - await loginPage.login(collaboratorUser.email, collaboratorUser.password); + await loginPage.login(collaboratorUser.username, collaboratorUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); diff --git a/e2e/content-services/metadata/metadata-properties.e2e.ts b/e2e/content-services/metadata/metadata-properties.e2e.ts index be43d9d845..7d1e7167d5 100644 --- a/e2e/content-services/metadata/metadata-properties.e2e.ts +++ b/e2e/content-services/metadata/metadata-properties.e2e.ts @@ -64,7 +64,7 @@ describe('CardView Component - properties', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const pdfUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); @@ -72,7 +72,7 @@ describe('CardView Component - properties', () => { pngFileModel.update(pdfUploadedFile.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); diff --git a/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts b/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts index 6b05b4d42d..41f696eb7c 100644 --- a/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts +++ b/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts @@ -70,19 +70,15 @@ describe('Metadata component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); Object.assign(pngFileModel, pngUploadedFile.entry); pngFileModel.update(pngUploadedFile.entry); }); - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - }); - describe('Viewer Metadata', () => { beforeAll(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({ @@ -94,6 +90,10 @@ describe('Metadata component', () => { })); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async () => { await viewerPage.viewFile(pngFileModel.name); await viewerPage.checkFileIsLoaded(); @@ -226,19 +226,24 @@ describe('Metadata component', () => { }); describe('Folder metadata', () => { + beforeAll(async () => { await uploadActions.createFolder(folderName, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C261157] Should be possible use the metadata component When the node is a Folder', async () => { await contentServicesPage.metadataContent(folderName); await expect(await metadataViewPage.getPropertyText('name')).toEqual(folderName); - await expect(await metadataViewPage.getPropertyText('createdByUser.displayName')).toEqual(acsUser.firstName + ' ' + acsUser.lastName); + await expect(await metadataViewPage.getPropertyText('createdByUser.displayName')).toEqual(`${acsUser.firstName} ${acsUser.lastName}`); await BrowserActions.closeMenuAndDialogs(); }); @@ -279,7 +284,8 @@ describe('Metadata component', () => { await metadataViewPage.clickSaveMetadata(); await expect(await metadataViewPage.getPropertyText('properties.cm:description')).toEqual('check author example description'); - await loginPage.login(acsUser.email, acsUser.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await viewerPage.viewFile(pngFileModel.name); diff --git a/e2e/content-services/permissions/permissions-component.e2e.ts b/e2e/content-services/permissions/permissions-component.e2e.ts index 5518682e8b..9276af5ac8 100644 --- a/e2e/content-services/permissions/permissions-component.e2e.ts +++ b/e2e/content-services/permissions/permissions-component.e2e.ts @@ -81,7 +81,7 @@ describe('Permissions Component', () => { const fileOwnerUser = new UserModel(); const filePermissionUser = new UserModel(); - const duplicateUserPermissionMessage = 'One or more of the permissions you have set is already present : authority -> ' + filePermissionUser.email + ' / role -> Contributor'; + const duplicateUserPermissionMessage = 'One or more of the permissions you have set is already present : authority -> ' + filePermissionUser.username + ' / role -> Contributor'; const roleConsumerFolderModel = new FolderModel({ name: 'roleConsumer' + StringUtil.generateRandomString() }); const roleCoordinatorFolderModel = new FolderModel({ name: 'roleCoordinator' + StringUtil.generateRandomString() }); const roleCollaboratorFolderModel = new FolderModel({ name: 'roleCollaborator' + StringUtil.generateRandomString() }); @@ -99,7 +99,7 @@ describe('Permissions Component', () => { // to sync user in acs await searchService.isUserSearchable(filePermissionUser); - await apiService.login(fileOwnerUser.email, fileOwnerUser.password); + await apiService.login(fileOwnerUser.username, fileOwnerUser.password); roleConsumerFolder = await uploadActions.createFolder(roleConsumerFolderModel.name, '-my-'); roleCoordinatorFolder = await uploadActions.createFolder(roleCoordinatorFolderModel.name, '-my-'); roleContributorFolder = await uploadActions.createFolder(roleContributorFolderModel.name, '-my-'); @@ -112,11 +112,11 @@ describe('Permissions Component', () => { await uploadActions.uploadFile(fileModel.location, 'RoleCollaborator' + fileModel.name, roleCollaboratorFolder.entry.id); await uploadActions.uploadFile(fileModel.location, 'RoleEditor' + fileModel.name, roleEditorFolder.entry.id); - await permissionActions.addRoleForUser(filePermissionUser.email, 'Consumer', roleConsumerFolder); - await permissionActions.addRoleForUser(filePermissionUser.email, 'Collaborator', roleCollaboratorFolder); - await permissionActions.addRoleForUser(filePermissionUser.email, 'Coordinator', roleCoordinatorFolder); - await permissionActions.addRoleForUser(filePermissionUser.email, 'Contributor', roleContributorFolder); - await permissionActions.addRoleForUser(filePermissionUser.email, 'Editor', roleEditorFolder); + await permissionActions.addRoleForUser(filePermissionUser.username, 'Consumer', roleConsumerFolder); + await permissionActions.addRoleForUser(filePermissionUser.username, 'Collaborator', roleCollaboratorFolder); + await permissionActions.addRoleForUser(filePermissionUser.username, 'Coordinator', roleCoordinatorFolder); + await permissionActions.addRoleForUser(filePermissionUser.username, 'Contributor', roleContributorFolder); + await permissionActions.addRoleForUser(filePermissionUser.username, 'Editor', roleEditorFolder); await browser.sleep(browser.params.testConfig.timeouts.index_search); // wait search index previous file/folder uploaded }); @@ -124,10 +124,10 @@ describe('Permissions Component', () => { describe('Inherit and assigning permissions', () => { beforeEach(async () => { - await apiService.login(fileOwnerUser.email, fileOwnerUser.password); + await apiService.login(fileOwnerUser.username, fileOwnerUser.password); file = await uploadActions.uploadFile(fileModel.location, fileModel.name, '-my-'); - await loginPage.login(fileOwnerUser.email, fileOwnerUser.password); + await loginPage.login(fileOwnerUser.username, fileOwnerUser.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); @@ -172,7 +172,7 @@ describe('Permissions Component', () => { await permissionsPage.addPermissionsDialog.clickAddPermissionButton(); await permissionsPage.addPermissionsDialog.checkAddPermissionDialogIsDisplayed(); await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); - await permissionsPage.addPermissionsDialog.searchUserOrGroup(filePermissionUser.email); + await permissionsPage.addPermissionsDialog.searchUserOrGroup(filePermissionUser.username); await permissionsPage.addPermissionsDialog.checkResultListIsDisplayed(); await permissionsPage.addPermissionsDialog.checkUserOrGroupIsDisplayed('EVERYONE'); await permissionsPage.addPermissionsDialog.searchUserOrGroup('somerandomtext'); @@ -184,9 +184,9 @@ describe('Permissions Component', () => { describe('Changing and duplicate Permissions', () => { beforeEach(async () => { - await apiService.login(fileOwnerUser.email, fileOwnerUser.password); + await apiService.login(fileOwnerUser.username, fileOwnerUser.password); file = await uploadActions.uploadFile(fileModel.location, fileModel.name, '-my-'); - await loginPage.login(fileOwnerUser.email, fileOwnerUser.password); + await loginPage.login(fileOwnerUser.username, fileOwnerUser.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.checkContentIsDisplayed(fileModel.name); await contentServicesPage.checkSelectedSiteIsDisplayed('My files'); @@ -198,7 +198,7 @@ describe('Permissions Component', () => { await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); await permissionsPage.addPermissionsDialog.searchUserOrGroup(filePermissionUser.firstName); await permissionsPage.addPermissionsDialog.clickUserOrGroup(filePermissionUser.firstName); - await permissionsPage.addPermissionsDialog.checkUserIsAdded(filePermissionUser.email); + await permissionsPage.addPermissionsDialog.checkUserIsAdded(filePermissionUser.username); }); afterEach(async () => { @@ -207,8 +207,8 @@ describe('Permissions Component', () => { }); it('[C274691] Should be able to add a new User with permission to the file and also change locally set permissions', async () => { - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Contributor'); - await permissionsPage.addPermissionsDialog.clickRoleDropdownByUserOrGroupName(filePermissionUser.email); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Contributor'); + await permissionsPage.addPermissionsDialog.clickRoleDropdownByUserOrGroupName(filePermissionUser.username); const roleDropdownOptions = permissionsPage.addPermissionsDialog.getRoleDropdownOptions(); await expect(await roleDropdownOptions.count()).toBe(5); @@ -219,21 +219,21 @@ describe('Permissions Component', () => { await expect(await BrowserActions.getText(roleDropdownOptions.get(4))).toBe('Consumer'); await BrowserActions.closeMenuAndDialogs(); - await permissionsPage.changePermission(filePermissionUser.email, 'Collaborator'); - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Collaborator'); + await permissionsPage.changePermission(filePermissionUser.username, 'Collaborator'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Collaborator'); - await permissionsPage.changePermission(filePermissionUser.email, 'Coordinator'); - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Coordinator'); + await permissionsPage.changePermission(filePermissionUser.username, 'Coordinator'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Coordinator'); - await permissionsPage.changePermission(filePermissionUser.email, 'Editor'); - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Editor'); + await permissionsPage.changePermission(filePermissionUser.username, 'Editor'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Editor'); - await permissionsPage.changePermission(filePermissionUser.email, 'Consumer'); - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Consumer'); + await permissionsPage.changePermission(filePermissionUser.username, 'Consumer'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Consumer'); }); it('[C276980] Should not be able to duplicate User or Group to the locally set permissions', async () => { - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Contributor'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Contributor'); await permissionsPage.addPermissionsDialog.clickAddPermissionButton(); await permissionsPage.addPermissionsDialog.checkAddPermissionDialogIsDisplayed(); await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); @@ -245,9 +245,9 @@ describe('Permissions Component', () => { }); it('[C276982] Should be able to remove User or Group from the locally set permissions', async () => { - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.email)).toEqual('Contributor'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(filePermissionUser.username)).toEqual('Contributor'); await permissionsPage.addPermissionsDialog.clickDeletePermissionButton(); - await permissionsPage.addPermissionsDialog.checkUserIsDeleted(filePermissionUser.email); + await permissionsPage.addPermissionsDialog.checkUserIsDeleted(filePermissionUser.username); }); }); @@ -258,7 +258,7 @@ describe('Permissions Component', () => { }); it('[C276993] Role Consumer', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleConsumerFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleConsumer' + fileModel.name); await contentList.doubleClickRow('RoleConsumer' + fileModel.name); @@ -278,7 +278,7 @@ describe('Permissions Component', () => { }); it('[C276996] Role Contributor', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleContributorFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleContributor' + fileModel.name); await contentList.doubleClickRow('RoleContributor' + fileModel.name); @@ -298,7 +298,7 @@ describe('Permissions Component', () => { }); it('[C277000] Role Editor', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleEditorFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleEditor' + fileModel.name); await contentList.doubleClickRow('RoleEditor' + fileModel.name); @@ -320,7 +320,7 @@ describe('Permissions Component', () => { }); it('[C277003] Role Collaborator', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleCollaboratorFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleCollaborator' + fileModel.name); await contentList.doubleClickRow('RoleCollaborator' + fileModel.name); @@ -345,7 +345,7 @@ describe('Permissions Component', () => { }); it('[C277004] Role Coordinator', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleCoordinatorFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleCoordinator' + fileModel.name); await contentList.doubleClickRow('RoleCoordinator' + fileModel.name); @@ -370,7 +370,7 @@ describe('Permissions Component', () => { }); it('[C279881] No Permission User', async () => { - await loginPage.login(filePermissionUser.email, filePermissionUser.password); + await loginPage.login(filePermissionUser.username, filePermissionUser.password); await navigationBarPage.openContentServicesFolder(roleConsumerFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('RoleConsumer' + fileModel.name); await contentServicesPage.checkSelectedSiteIsDisplayed('My files'); diff --git a/e2e/content-services/permissions/site-permissions.e2e.ts b/e2e/content-services/permissions/site-permissions.e2e.ts index 224a68fc3f..3ae0413c02 100644 --- a/e2e/content-services/permissions/site-permissions.e2e.ts +++ b/e2e/content-services/permissions/site-permissions.e2e.ts @@ -93,7 +93,7 @@ describe('Permissions Component', () => { await usersActions.createUser(contributorUser); await usersActions.createUser(collaboratorUser); await usersActions.createUser(managerUser); - await apiService.login(folderOwnerUser.email, folderOwnerUser.password); + await apiService.login(folderOwnerUser.username, folderOwnerUser.password); await browser.sleep(15000); @@ -111,27 +111,27 @@ describe('Permissions Component', () => { privateSite = await apiService.getInstance().core.sitesApi.createSite(privateSiteBody); await apiService.getInstance().core.sitesApi.addSiteMember(publicSite.entry.id, { - id: siteConsumerUser.email, + id: siteConsumerUser.username, role: CONSTANTS.CS_USER_ROLES.CONSUMER }); await apiService.getInstance().core.sitesApi.addSiteMember(publicSite.entry.id, { - id: collaboratorUser.email, + id: collaboratorUser.username, role: CONSTANTS.CS_USER_ROLES.COLLABORATOR }); await apiService.getInstance().core.sitesApi.addSiteMember(publicSite.entry.id, { - id: contributorUser.email, + id: contributorUser.username, role: CONSTANTS.CS_USER_ROLES.CONTRIBUTOR }); await apiService.getInstance().core.sitesApi.addSiteMember(publicSite.entry.id, { - id: managerUser.email, + id: managerUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); await apiService.getInstance().core.sitesApi.addSiteMember(privateSite.entry.id, { - id: managerUser.email, + id: managerUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); @@ -142,7 +142,7 @@ describe('Permissions Component', () => { { permissions: { locallySet: [{ - authorityId: managerUser.email, + authorityId: managerUser.username, name: 'SiteConsumer', accessStatus: 'ALLOWED' }] @@ -153,20 +153,22 @@ describe('Permissions Component', () => { }); afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - await apiService.loginWithProfile('admin'); await apiService.getInstance().core.sitesApi.deleteSite(publicSite.entry.id, { permanent: true }); await apiService.getInstance().core.sitesApi.deleteSite(privateSite.entry.id, { permanent: true }); }); describe('Role Site Dropdown', () => { + beforeAll(async () => { - await loginPage.login(folderOwnerUser.email, folderOwnerUser.password); + await loginPage.login(folderOwnerUser.username, folderOwnerUser.password); await BrowserActions.getUrl(browser.baseUrl + '/files/' + publicSite.entry.guid); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); }); it('[C277002] Should display the Role Site dropdown', async () => { @@ -185,14 +187,14 @@ describe('Permissions Component', () => { await permissionsPage.addPermissionsDialog.checkAddPermissionDialogIsDisplayed(); await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); - await permissionsPage.addPermissionsDialog.searchUserOrGroup(consumerUser.email); + await permissionsPage.addPermissionsDialog.searchUserOrGroup(consumerUser.username); await permissionsPage.addPermissionsDialog.clickUserOrGroup(consumerUser.firstName); - await permissionsPage.addPermissionsDialog.checkUserIsAdded(consumerUser.email); + await permissionsPage.addPermissionsDialog.checkUserIsAdded(consumerUser.username); - await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(consumerUser.email)).toEqual('SiteCollaborator'); + await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(consumerUser.username)).toEqual('SiteCollaborator'); - await permissionsPage.addPermissionsDialog.clickRoleDropdownByUserOrGroupName(consumerUser.email); + await permissionsPage.addPermissionsDialog.clickRoleDropdownByUserOrGroupName(consumerUser.username); const roleDropdownOptions = permissionsPage.addPermissionsDialog.getRoleDropdownOptions(); @@ -205,8 +207,13 @@ describe('Permissions Component', () => { }); describe('Roles: SiteConsumer, SiteCollaborator, SiteContributor, SiteManager', () => { + + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C276994] Role SiteConsumer', async () => { - await loginPage.login(siteConsumerUser.email, siteConsumerUser.password); + await loginPage.login(siteConsumerUser.username, siteConsumerUser.password); await navigationBarPage.openContentServicesFolder(siteFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('Site' + fileModel.name); @@ -234,7 +241,7 @@ describe('Permissions Component', () => { }); it('[C276997] Role SiteContributor', async () => { - await loginPage.login(contributorUser.email, contributorUser.password); + await loginPage.login(contributorUser.username, contributorUser.password); await navigationBarPage.openContentServicesFolder(siteFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('Site' + fileModel.name); @@ -265,7 +272,7 @@ describe('Permissions Component', () => { }); it('[C277005] Role SiteCollaborator', async () => { - await loginPage.login(collaboratorUser.email, collaboratorUser.password); + await loginPage.login(collaboratorUser.username, collaboratorUser.password); await navigationBarPage.openContentServicesFolder(siteFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('Site' + fileModel.name); @@ -304,7 +311,7 @@ describe('Permissions Component', () => { }); it('[C277006] Role SiteManager', async () => { - await loginPage.login(managerUser.email, managerUser.password); + await loginPage.login(managerUser.username, managerUser.password); await navigationBarPage.openContentServicesFolder(siteFolder.entry.id); await contentServicesPage.checkContentIsDisplayed('Site' + fileModel.name); @@ -342,8 +349,13 @@ describe('Permissions Component', () => { }); describe('Roles: Private site and Manager User', () => { + + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C277196] should a user with Manager permissions be able to upload a new version for the created file', async () => { - await loginPage.login(managerUser.email, managerUser.password); + await loginPage.login(managerUser.username, managerUser.password); await navigationBarPage.openContentServicesFolder(privateSite.entry.guid); diff --git a/e2e/content-services/share-file/share-file.e2e.ts b/e2e/content-services/share-file/share-file.e2e.ts index d7be851249..bfc0e85cb3 100644 --- a/e2e/content-services/share-file/share-file.e2e.ts +++ b/e2e/content-services/share-file/share-file.e2e.ts @@ -66,7 +66,7 @@ describe('Share file', () => { }; const apiCall = async () => { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); return apiService.getInstance().core.sharedlinksApi.findSharedLinks(); }; @@ -76,7 +76,7 @@ describe('Share file', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); @@ -90,12 +90,16 @@ describe('Share file', () => { describe('Shared link dialog', () => { beforeAll(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentListPage.selectRow(pngFileModel.name); await BrowserActions.closeMenuAndDialogs(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C286549] Should check automatically toggle button in Share dialog', async () => { await contentServicesPage.clickShareButton(); await shareDialog.checkDialogIsDisplayed(); @@ -164,11 +168,15 @@ describe('Share file', () => { describe('Shared link preview', () => { beforeEach(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C286565] Should open file when logged user access shared link', async () => { await contentListPage.selectRow(pngFileModel.name); await contentServicesPage.clickShareButton(); diff --git a/e2e/content-services/share-file/unshare-file.e2e.ts b/e2e/content-services/share-file/unshare-file.e2e.ts index d54fb91216..d3d417a76e 100644 --- a/e2e/content-services/share-file/unshare-file.e2e.ts +++ b/e2e/content-services/share-file/unshare-file.e2e.ts @@ -68,11 +68,6 @@ describe('Unshare file', () => { id: siteName }; - const memberBody = { - id: acsUser.email, - role: CONSTANTS.CS_USER_ROLES.CONSUMER - }; - nodeBody = { name: StringUtil.generateRandomString(5), nodeType: 'cm:content', @@ -85,26 +80,29 @@ describe('Unshare file', () => { const docLibId = (await apiService.getInstance().core.sitesApi.getSiteContainers(siteName)).list.entries[0].entry.id; const testFile1Id = (await apiService.getInstance().core.nodesApi.addNode(docLibId, nodeBody)).entry.id; - await apiService.getInstance().core.sitesApi.addSiteMember(siteName, memberBody); + await apiService.getInstance().core.sitesApi.addSiteMember(siteName, { + id: acsUser.username, + role: CONSTANTS.CS_USER_ROLES.CONSUMER + }); await apiService.getInstance().core.nodesApi.updateNode(testFile1Id, { permissions: { isInheritanceEnabled: false, locallySet: [ { - authorityId: acsUser.email, + authorityId: acsUser.username, name: CONSTANTS.CS_USER_ROLES.CONSUMER } ] } }); await apiService.getInstance().core.sharedlinksApi.addSharedLink({ nodeId: testFile1Id }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); nodeId = pngUploadedFile.entry.id; - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navBar.navigateToContentServices(); await contentServicesPage.waitForTableBody(); }); @@ -114,10 +112,6 @@ describe('Unshare file', () => { await apiService.getInstance().core.sitesApi.deleteSite(testSite.entry.id, { permanent: true }); }); - afterEach(async () => { - await browser.refresh(); - }); - describe('with permission', () => { afterAll(async () => { await apiService.loginWithProfile('admin'); @@ -128,6 +122,7 @@ describe('Unshare file', () => { await contentListPage.selectRow(pngFileModel.name); await contentServicesPage.clickShareButton(); await shareDialog.checkDialogIsDisplayed(); + await browser.sleep(2000); await shareDialog.clickUnShareFile(); await shareDialog.confirmationDialogIsDisplayed(); }); @@ -156,17 +151,20 @@ describe('Unshare file', () => { await contentListPage.selectRow(pngFileModel.name); await contentServicesPage.clickShareButton(); await shareDialog.checkDialogIsDisplayed(); + await browser.sleep(2000); + const sharedLink = await shareDialog.getShareLink(); await shareDialog.clickUnShareFile(); await shareDialog.confirmationDialogIsDisplayed(); await shareDialog.clickConfirmationDialogRemoveButton(); await shareDialog.dialogIsClosed(); - await BrowserActions.getUrl(sharedLink.replace(browser.params.testConfig.appConfig.ecmHost, browser.baseUrl)); + await BrowserActions.getUrl(sharedLink.replace(browser.params.testConfig.appConfig.ecmHost, `${browser.baseUrl}`)); await errorPage.checkErrorCode(); }); }); describe('without permission', () => { + afterAll(async () => { await apiService.loginWithProfile('admin'); await apiService.getInstance().core.sitesApi.deleteSite(siteName, { permanent: true }); @@ -177,6 +175,7 @@ describe('Unshare file', () => { await contentServicesPage.openFolder('documentLibrary'); await contentListPage.selectRow(nodeBody.name); await contentServicesPage.clickShareButton(); + await shareDialog.checkDialogIsDisplayed(); await shareDialog.shareToggleButtonIsChecked(); await shareDialog.clickUnShareFile(); @@ -184,6 +183,7 @@ describe('Unshare file', () => { await shareDialog.clickConfirmationDialogRemoveButton(); await shareDialog.checkDialogIsDisplayed(); await shareDialog.shareToggleButtonIsChecked(); + await notificationHistoryPage.checkNotifyContains(`You don't have permission to unshare this file`); }); }); diff --git a/e2e/content-services/social/social.component.e2e.ts b/e2e/content-services/social/social.component.e2e.ts index dd3e76ace0..dd9d3afcab 100644 --- a/e2e/content-services/social/social.component.e2e.ts +++ b/e2e/content-services/social/social.component.e2e.ts @@ -63,7 +63,7 @@ describe('Social component', () => { await usersActions.createUser(componentVisitor); await usersActions.createUser(secondComponentVisitor); - await apiService.login(componentOwner.email, componentOwner.password); + await apiService.login(componentOwner.username, componentOwner.password); emptyFile = await uploadActions.uploadFile(emptyFileModel.location, emptyFileModel.name, '-my-'); @@ -72,11 +72,11 @@ describe('Social component', () => { { permissions: { locallySet: [{ - authorityId: componentVisitor.email, + authorityId: componentVisitor.username, name: 'Consumer', accessStatus: 'ALLOWED' }, { - authorityId: secondComponentVisitor.email, + authorityId: secondComponentVisitor.username, name: 'Consumer', accessStatus: 'ALLOWED' }] @@ -85,52 +85,60 @@ describe('Social component', () => { }); afterAll(async () => { - await navigationBarPage.clickLogoutButton(); await apiService.loginWithProfile('admin'); await uploadActions.deleteFileOrFolder(emptyFile.entry.email); }); describe('User interaction on their own components', () => { beforeEach(async () => { - await loginPage.login(componentOwner.email, componentOwner.password); + await loginPage.login(componentOwner.username, componentOwner.password); await navigationBarPage.clickSocialButton(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C203006] Should be able to like and unlike their components but not rate them,', async () => { await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); await likePage.clickLike(); - await expect(await likePage.getLikeCounter()).toBe('1'); + await likePage.checkLikeCounter(1); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor); await ratePage.rateComponent(4); - await expect(await ratePage.getRatingCounter()).toBe('0'); + await ratePage.checkRatingCounter(0); await expect(await ratePage.isNotStarRated(4)); await expect(await ratePage.getUnratedStarColor(4)).toBe(averageStarColor); await likePage.clickUnlike(); - await expect(await likePage.getLikeCounter()).toBe('0'); + await likePage.checkLikeCounter(0); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); }); }); describe('User interaction on components that belong to other users', () => { + beforeEach(async () => { - await loginPage.login(componentVisitor.email, componentVisitor.password); + await loginPage.login(componentVisitor.username, componentVisitor.password); await navigationBarPage.clickSocialButton(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260324] Should be able to like and unlike a component', async () => { await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); - await expect(await likePage.getLikeCounter()).toEqual('0'); + await likePage.checkLikeCounter(0); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); await likePage.clickLike(); - await expect(await likePage.getLikeCounter()).toBe('1'); + await likePage.checkLikeCounter(1); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor); await likePage.clickUnlike(); - await expect(await likePage.getLikeCounter()).toBe('0'); + await likePage.checkLikeCounter(0); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); }); @@ -138,42 +146,49 @@ describe('Social component', () => { it('[C310198] Should be able to rate and unRate a component', async () => { await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); - await expect(await ratePage.getRatingCounter()).toBe('0'); + + await ratePage.checkRatingCounter(0); await ratePage.rateComponent(4); - await expect(await ratePage.getRatingCounter()).toBe('1'); + await ratePage.checkRatingCounter(1); await expect(await ratePage.isStarRated(4)); await expect(await ratePage.getRatedStarColor(4)).toBe(yellowRatedStarColor); await ratePage.removeRating(4); - await expect(await ratePage.getRatingCounter()).toBe('0'); + await ratePage.checkRatingCounter(0); await expect(await ratePage.isNotStarRated(4)); }); }); describe('Multiple Users interaction', () => { + beforeEach(async () => { - await loginPage.login(componentVisitor.email, componentVisitor.password); + await loginPage.login(componentVisitor.username, componentVisitor.password); await navigationBarPage.clickSocialButton(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C310197] Should be able to like, unLike, display total likes', async () => { await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); await likePage.clickLike(); - await expect(await likePage.getLikeCounter()).toBe('1'); + await likePage.checkLikeCounter(1); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor); - await loginPage.login(secondComponentVisitor.email, secondComponentVisitor.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(secondComponentVisitor.username, secondComponentVisitor.password); await navigationBarPage.clickSocialButton(); await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); await likePage.clickLike(); - await expect(await likePage.getLikeCounter()).toEqual('2'); + await likePage.checkLikeCounter(2); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor); await likePage.clickUnlike(); - await expect(await likePage.getLikeCounter()).toEqual('1'); + await likePage.checkLikeCounter(1); await likePage.removeHoverFromLikeButton(); await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor); }); @@ -182,21 +197,22 @@ describe('Social component', () => { await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); await ratePage.rateComponent(4); - await expect(await ratePage.getRatingCounter()).toEqual('1'); + await ratePage.checkRatingCounter(1); await expect(await ratePage.isStarRated(4)); await expect(await ratePage.getRatedStarColor(4)).toBe(yellowRatedStarColor); - await loginPage.login(secondComponentVisitor.email, secondComponentVisitor.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(secondComponentVisitor.username, secondComponentVisitor.password); await navigationBarPage.clickSocialButton(); await socialPage.writeCustomNodeId(emptyFile.entry.id); await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id); - await expect(await ratePage.getRatingCounter()).toEqual('1'); + await ratePage.checkRatingCounter(1); await expect(await ratePage.getAverageStarColor(4)).toBe(averageStarColor); await ratePage.rateComponent(0); - await expect(await ratePage.getRatingCounter()).toEqual('2'); + await ratePage.checkRatingCounter(2); await expect(await ratePage.isStarRated(2)); await ratePage.removeRating(0); - await expect(await ratePage.getRatingCounter()).toEqual('1'); + await ratePage.checkRatingCounter(1); await expect(await ratePage.getAverageStarColor(4)).toBe(averageStarColor); }); }); diff --git a/e2e/content-services/sso/sso-download-directive-component.e2e.ts b/e2e/content-services/sso/sso-download-directive-component.e2e.ts index 1ed76b7ed3..548deab32f 100644 --- a/e2e/content-services/sso/sso-download-directive-component.e2e.ts +++ b/e2e/content-services/sso/sso-download-directive-component.e2e.ts @@ -64,7 +64,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); folder = await uploadActions.createFolder(folderName, '-my-'); @@ -75,7 +75,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList browser.params.testConfig.appConfig.oauth2.host, browser.params.testConfig.appConfig.identityHost, false, true, browser.params.testConfig.appConfig.oauth2.clientId); - await loginSsoPage.loginSSOIdentityService(acsUser.email, acsUser.password); + await loginSsoPage.loginSSOIdentityService(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.checkAcsContainer(); diff --git a/e2e/content-services/tag-component.e2e.ts b/e2e/content-services/tag-component.e2e.ts index b54d85a002..08331a04e8 100644 --- a/e2e/content-services/tag-component.e2e.ts +++ b/e2e/content-services/tag-component.e2e.ts @@ -54,7 +54,7 @@ describe('Tag component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); pdfUploadedFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, '-my-'); @@ -68,7 +68,7 @@ describe('Tag component', () => { await apiService.getInstance().core.tagsApi.addTag(nodeId, tags); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.clickTagButton(); }); diff --git a/e2e/content-services/trashcan-pagination.e2e.ts b/e2e/content-services/trashcan-pagination.e2e.ts index 77f6a86e21..5bacb6e1b0 100644 --- a/e2e/content-services/trashcan-pagination.e2e.ts +++ b/e2e/content-services/trashcan-pagination.e2e.ts @@ -64,7 +64,7 @@ describe('Trashcan - Pagination', () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const folderUploadedModel = await uploadActions.createFolder(newFolderModel.name, '-my-'); const emptyFiles: any = await uploadActions.createEmptyFiles(fileNames, folderUploadedModel.entry.id); @@ -74,7 +74,7 @@ describe('Trashcan - Pagination', () => { }); } - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.clickTrashcanButton(); await trashcanPage.getDocumentList().dataTablePage().waitTillContentLoaded(); }); diff --git a/e2e/content-services/tree-view-component.e2e.ts b/e2e/content-services/tree-view-component.e2e.ts index e9584ca30b..8223ee6b4d 100644 --- a/e2e/content-services/tree-view-component.e2e.ts +++ b/e2e/content-services/tree-view-component.e2e.ts @@ -46,7 +46,7 @@ describe('Tree View Component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); treeFolder = await apiService.getInstance().nodes.addNode(nodeNames.parentFolder, { name: nodeNames.folder, @@ -65,7 +65,7 @@ describe('Tree View Component', () => { nodeType: 'cm:content' }); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.clickTreeViewButton(); }); diff --git a/e2e/content-services/upload/cancel-upload.e2e.ts b/e2e/content-services/upload/cancel-upload.e2e.ts index dcb91dd9a2..267e84964a 100644 --- a/e2e/content-services/upload/cancel-upload.e2e.ts +++ b/e2e/content-services/upload/cancel-upload.e2e.ts @@ -52,9 +52,9 @@ describe('Upload component', async () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/excluded-file.e2e.ts b/e2e/content-services/upload/excluded-file.e2e.ts index 2c5139face..8d9f751bb5 100644 --- a/e2e/content-services/upload/excluded-file.e2e.ts +++ b/e2e/content-services/upload/excluded-file.e2e.ts @@ -78,9 +78,9 @@ describe('Upload component - Excluded Files', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/upload-dialog.e2e.ts b/e2e/content-services/upload/upload-dialog.e2e.ts index 55e032473a..fb3acc4536 100644 --- a/e2e/content-services/upload/upload-dialog.e2e.ts +++ b/e2e/content-services/upload/upload-dialog.e2e.ts @@ -70,8 +70,8 @@ describe('Upload component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/uploader-component.e2e.ts b/e2e/content-services/upload/uploader-component.e2e.ts index 3d686f9c57..94736a65f7 100644 --- a/e2e/content-services/upload/uploader-component.e2e.ts +++ b/e2e/content-services/upload/uploader-component.e2e.ts @@ -74,8 +74,8 @@ describe('Upload component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); const pdfUploadedFile = await uploadActions.uploadFile(firstPdfFileModel.location, firstPdfFileModel.name, '-my-'); Object.assign(firstPdfFileModel, pdfUploadedFile.entry); }); diff --git a/e2e/content-services/upload/user-permission.e2e.ts b/e2e/content-services/upload/user-permission.e2e.ts index 02e6cd2fcc..2513b6c53d 100644 --- a/e2e/content-services/upload/user-permission.e2e.ts +++ b/e2e/content-services/upload/user-permission.e2e.ts @@ -55,11 +55,10 @@ describe('Upload - User permission', () => { acsUser = await usersActions.createUser(acsUser); acsUserTwo = await usersActions.createUser(acsUserTwo); + await loginPage.login(acsUser.username, acsUser.password); }); beforeEach(async () => { - await loginPage.login(acsUser.email, acsUser.password); - consumerSite = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(), visibility: 'PUBLIC' @@ -71,12 +70,12 @@ describe('Upload - User permission', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(consumerSite.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.CONSUMER }); await apiService.getInstance().core.sitesApi.addSiteMember(managerSite.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); }); @@ -150,8 +149,8 @@ describe('Upload - User permission', () => { await contentServicesPage.checkContentIsDisplayed(emptyFile.name); - await navigationBarPage.clickLoginButton(); - await loginPage.login(acsUserTwo.email, acsUserTwo.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUserTwo.username, acsUserTwo.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.checkContentIsNotDisplayed(emptyFile.name); @@ -160,8 +159,8 @@ describe('Upload - User permission', () => { await contentServicesPage.checkContentIsDisplayed(pngFile.name); - await navigationBarPage.clickLoginButton(); - await loginPage.login(acsUser.email, acsUser.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.checkContentIsNotDisplayed(pngFile.name); diff --git a/e2e/content-services/version/version-actions.e2e.ts b/e2e/content-services/version/version-actions.e2e.ts index ff8b785967..ebdf1205c7 100644 --- a/e2e/content-services/version/version-actions.e2e.ts +++ b/e2e/content-services/version/version-actions.e2e.ts @@ -66,11 +66,11 @@ describe('Version component actions', () => { uploadActions = new UploadActions(apiService); await apiService.loginWithProfile('admin'); acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const txtUploadedFile = await uploadActions.uploadFile(txtFileModel.location, txtFileModel.name, '-my-'); Object.assign(txtFileModel, txtUploadedFile.entry); txtFileModel.update(txtUploadedFile.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); }); diff --git a/e2e/content-services/version/version-permissions.e2e.ts b/e2e/content-services/version/version-permissions.e2e.ts index 73f3d2f4a8..b18cceb028 100644 --- a/e2e/content-services/version/version-permissions.e2e.ts +++ b/e2e/content-services/version/version-permissions.e2e.ts @@ -85,27 +85,27 @@ describe('Version component permissions', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: consumerUser.email, + id: consumerUser.username, role: CONSTANTS.CS_USER_ROLES.CONSUMER }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: collaboratorUser.email, + id: collaboratorUser.username, role: CONSTANTS.CS_USER_ROLES.COLLABORATOR }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: contributorUser.email, + id: contributorUser.username, role: CONSTANTS.CS_USER_ROLES.CONTRIBUTOR }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: managerUser.email, + id: managerUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: fileCreatorUser.email, + id: fileCreatorUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); @@ -117,7 +117,7 @@ describe('Version component permissions', () => { lifetime: 'PERSISTENT' }); - await apiService.login(fileCreatorUser.email, fileCreatorUser.password); + await apiService.login(fileCreatorUser.username, fileCreatorUser.password); await uploadActions.uploadFile(differentCreatorFile.location, differentCreatorFile.name, site.entry.guid); }); @@ -134,12 +134,12 @@ describe('Version component permissions', () => { }); beforeAll(async () => { - await apiService.login(managerUser.email, managerUser.password); + await apiService.login(managerUser.username, managerUser.password); const sameCreatorFileUploaded = await uploadActions.uploadFile(sameCreatorFile.location, sameCreatorFile.name, site.entry.guid); Object.assign(sameCreatorFile, sameCreatorFileUploaded.entry); - await loginPage.login(managerUser.email, managerUser.password); + await loginPage.login(managerUser.username, managerUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); }); @@ -178,7 +178,7 @@ describe('Version component permissions', () => { describe('Consumer', () => { beforeAll(async () => { - await loginPage.login(consumerUser.email, consumerUser.password); + await loginPage.login(consumerUser.username, consumerUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); }); @@ -206,12 +206,12 @@ describe('Version component permissions', () => { }); beforeAll(async () => { - await apiService.login(contributorUser.email, contributorUser.password); + await apiService.login(contributorUser.username, contributorUser.password); const sameCreatorFileUploaded = await uploadActions.uploadFile(sameCreatorFile.location, sameCreatorFile.name, site.entry.guid); Object.assign(sameCreatorFile, sameCreatorFileUploaded.entry); - await loginPage.login(contributorUser.email, contributorUser.password); + await loginPage.login(contributorUser.username, contributorUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); }); @@ -261,12 +261,12 @@ describe('Version component permissions', () => { }); beforeAll(async () => { - await apiService.login(collaboratorUser.email, collaboratorUser.password); + await apiService.login(collaboratorUser.username, collaboratorUser.password); const sameCreatorFileUploaded = await uploadActions.uploadFile(sameCreatorFile.location, sameCreatorFile.name, site.entry.guid); Object.assign(sameCreatorFile, sameCreatorFileUploaded.entry); - await loginPage.login(collaboratorUser.email, collaboratorUser.password); + await loginPage.login(collaboratorUser.username, collaboratorUser.password); await navigationBarPage.openContentServicesFolder(site.entry.guid); }); diff --git a/e2e/content-services/version/version-properties.e2e.ts b/e2e/content-services/version/version-properties.e2e.ts index 5d0bc3f949..dbf8788d8a 100644 --- a/e2e/content-services/version/version-properties.e2e.ts +++ b/e2e/content-services/version/version-properties.e2e.ts @@ -60,7 +60,7 @@ describe('Version Properties', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const txtUploadedFile = await uploadActions.uploadFile(txtFileModel.location, txtFileModel.name, '-my-'); @@ -68,7 +68,7 @@ describe('Version Properties', () => { txtFileModel.update(txtUploadedFile.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); diff --git a/e2e/content-services/version/version-smoke-tests.e2e.ts b/e2e/content-services/version/version-smoke-tests.e2e.ts index 49325c79ca..29e77508e1 100644 --- a/e2e/content-services/version/version-smoke-tests.e2e.ts +++ b/e2e/content-services/version/version-smoke-tests.e2e.ts @@ -75,14 +75,14 @@ describe('Version component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); txtUploadedFile = await uploadActions.uploadFile(txtFileModel.location, txtFileModel.name, '-my-'); Object.assign(txtFileModel, txtUploadedFile.entry); txtFileModel.update(txtUploadedFile.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToContentServices(); await contentServicesPage.waitForTableBody(); diff --git a/e2e/core/datatable/data-table-component-selection.e2e.ts b/e2e/core/datatable/data-table-component-selection.e2e.ts index e66c806fda..70b7cead15 100644 --- a/e2e/core/datatable/data-table-component-selection.e2e.ts +++ b/e2e/core/datatable/data-table-component-selection.e2e.ts @@ -35,7 +35,7 @@ describe('Datatable component - selection', () => { await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.navigateToDatatable(); }); diff --git a/e2e/core/datatable/data-table-component.e2e.ts b/e2e/core/datatable/data-table-component.e2e.ts index 1bc87ba658..f1d2830813 100644 --- a/e2e/core/datatable/data-table-component.e2e.ts +++ b/e2e/core/datatable/data-table-component.e2e.ts @@ -50,7 +50,7 @@ describe('Datatable component', () => { await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/core/error-component.e2e.ts b/e2e/core/error-component.e2e.ts index b27078aedc..cb47c5f871 100644 --- a/e2e/core/error-component.e2e.ts +++ b/e2e/core/error-component.e2e.ts @@ -17,29 +17,21 @@ import { ApiService, BrowserActions, ErrorPage, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ContentServicesPage } from './pages/content-services.page'; describe('Error Component', () => { - const acsUser = new UserModel(); - const loginPage = new LoginPage(); - const errorPage = new ErrorPage(); - const navigationBarPage = new NavigationBarPage(); - const apiService = new ApiService(); const usersActions = new UsersActions(apiService); - const contentServicesPage = new ContentServicesPage(); + + const acsUser = new UserModel(); + + const errorPage = new ErrorPage(); + const loginPage = new LoginPage(); beforeAll(async () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); - await contentServicesPage.goToDocumentList(); - }); - - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); + await loginPage.login(acsUser.username, acsUser.password); }); it('[C277302] Should display the error 403 when access to unauthorized page - My Change', async () => { diff --git a/e2e/core/header-component.e2e.ts b/e2e/core/header-component.e2e.ts index 3eb9301afc..241144a2af 100644 --- a/e2e/core/header-component.e2e.ts +++ b/e2e/core/header-component.e2e.ts @@ -47,7 +47,7 @@ describe('Header Component', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); beforeEach(async () => { diff --git a/e2e/core/icons-component.e2e.ts b/e2e/core/icons-component.e2e.ts index 46779f0a8b..6a3d091f39 100644 --- a/e2e/core/icons-component.e2e.ts +++ b/e2e/core/icons-component.e2e.ts @@ -32,7 +32,7 @@ describe('Universal Icon component', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/core/infinite-scrolling.e2e.ts b/e2e/core/infinite-scrolling.e2e.ts index a6094d8887..03e7c75b13 100644 --- a/e2e/core/infinite-scrolling.e2e.ts +++ b/e2e/core/infinite-scrolling.e2e.ts @@ -62,12 +62,12 @@ describe('Enable infinite scrolling', () => { await usersActions.createUser(acsUser); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); fileNames = StringUtil.generateFilesNames(1, nrOfFiles, files.base, files.extension); deleteFileNames = StringUtil.generateFilesNames(1, nrOfDeletedFiles, files.base, files.extension); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const folderUploadedModel = await uploadActions.createFolder(folderModel.name, '-my-'); emptyFolderModel = await uploadActions.createFolder('emptyFolder', '-my-'); diff --git a/e2e/core/login/login-component.e2e.ts b/e2e/core/login/login-component.e2e.ts index f6ffd11aa1..eb1289cc61 100644 --- a/e2e/core/login/login-component.e2e.ts +++ b/e2e/core/login/login-component.e2e.ts @@ -59,24 +59,27 @@ describe('Login component', () => { await usersActions.createUser(userA); await usersActions.createUser(userB); - }); + }); + + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); it('[C276746] Should display the right information in user-info when a different users logs in', async () => { await LocalStorageUtil.setStorageItem('providers', 'ECM'); - await loginPage.login(userA.email, userA.password); + await loginPage.login(userA.username, userA.password); await userInfoPage.clickUserProfile(); - await expect(await userInfoPage.getContentHeaderTitle()).toEqual(userA.firstName + ' ' + userA.lastName); - await expect(await userInfoPage.getContentEmail()).toEqual(userA.email); + await expect(await userInfoPage.getContentHeaderTitle()).toEqual(`${userA.firstName} ${userA.lastName}`); - await loginPage.login(userB.email, userB.password); + await navigationBarPage.clickLogoutButton(); + await loginPage.login(userB.username, userB.password); await userInfoPage.clickUserProfile(); - await expect(await userInfoPage.getContentHeaderTitle()).toEqual(userB.firstName + ' ' + userB.lastName); - await expect(await userInfoPage.getContentEmail()).toEqual(userB.email); + await expect(await userInfoPage.getContentHeaderTitle()).toEqual(`${userB.firstName} ${userB.lastName}`); }); it('[C299206] Should redirect the user without the right access role on a forbidden page', async () => { - await loginPage.login(userA.email, userA.password); + await loginPage.login(userA.username, userA.password); await navigationBarPage.navigateToProcessServicesCloudPage(); await expect(await errorPage.getErrorCode()).toBe('403'); await expect(await errorPage.getErrorTitle()).toBe('You don\'t have permission to access this server.'); diff --git a/e2e/core/login/login-sso/logout-sso.e2e.ts b/e2e/core/login/login-sso/logout-sso.e2e.ts index b8c595e55c..480918e77a 100644 --- a/e2e/core/login/login-sso/logout-sso.e2e.ts +++ b/e2e/core/login/login-sso/logout-sso.e2e.ts @@ -15,22 +15,23 @@ * limitations under the License. */ -import { BrowserActions, LoginPage, SettingsPage } from '@alfresco/adf-testing'; +import { LoginPage, SettingsPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; +import { NavigationBarPage } from '../../pages/navigation-bar.page'; describe('Logout component - SSO', () => { const settingsPage = new SettingsPage(); const loginSSOPage = new LoginPage(); + const navigationBarPage = new NavigationBarPage(); it('[C280665] Should be possible change the logout redirect URL', async () => { await settingsPage.setProviderEcmSso(browser.params.testConfig.appConfig.ecmHost, browser.params.testConfig.appConfig.oauth2.host, - browser.params.testConfig.appConfig.identityHost, false, true, browser.params.testConfig.appConfig.oauth2.clientId, '/login'); + browser.params.testConfig.appConfig.identityHost, false, true, browser.params.testConfig.appConfig.oauth2.clientId, '#/login'); await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.users.admin.username, browser.params.testConfig.users.admin.password); - await BrowserActions.clickExecuteScript('.app-sidenav-link[adf-logout]'); - await browser.sleep(2000); + await navigationBarPage.clickLogoutButton(); const actualUrl = await browser.getCurrentUrl(); await expect(actualUrl).toEqual(browser.baseUrl + '/login'); diff --git a/e2e/core/notifications-component.e2e.ts b/e2e/core/notifications-component.e2e.ts index ad700a6149..6862265532 100644 --- a/e2e/core/notifications-component.e2e.ts +++ b/e2e/core/notifications-component.e2e.ts @@ -35,9 +35,9 @@ describe('Notifications Component', () => { acsUser = await usersActions.createUser(); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await notificationPage.goToNotificationsPage(); }); diff --git a/e2e/core/pages/comments.page.ts b/e2e/core/pages/comments.page.ts index bb2f776897..b15727c10d 100644 --- a/e2e/core/pages/comments.page.ts +++ b/e2e/core/pages/comments.page.ts @@ -29,8 +29,8 @@ export class CommentsPage { commentInput = element(by.id('comment-input')); addCommentButton = element(by.css("[data-automation-id='comments-input-add']")); - async getTotalNumberOfComments(): Promise { - return BrowserActions.getText(this.numberOfComments); + async getTotalNumberOfComments(text: string): Promise { + await BrowserVisibility.waitUntilElementHasText(this.numberOfComments, text); } async checkUserIconIsDisplayed(): Promise { diff --git a/e2e/core/pages/content-services.page.ts b/e2e/core/pages/content-services.page.ts index 61e0aefd78..55646558a8 100644 --- a/e2e/core/pages/content-services.page.ts +++ b/e2e/core/pages/content-services.page.ts @@ -132,15 +132,14 @@ export class ContentServicesPage { async checkDeleteIsDisabled(content): Promise { await this.contentList.clickOnActionMenu(content); - await this.waitForContentOptions(); const disabledDelete = element(by.css(`button[data-automation-id*='DELETE'][disabled='true']`)); await BrowserVisibility.waitUntilElementIsVisible(disabledDelete); } async deleteContent(content): Promise { await this.contentList.clickOnActionMenu(content); - await this.waitForContentOptions(); await BrowserActions.click(this.deleteContentElement); + await this.checkContentIsNotDisplayed(content); } async clickDeleteOnToolbar(): Promise { @@ -153,13 +152,11 @@ export class ContentServicesPage { async metadataContent(content): Promise { await this.contentList.clickOnActionMenu(content); - await this.waitForContentOptions(); await BrowserActions.click(this.metadataAction); } async versionManagerContent(content): Promise { await this.contentList.clickOnActionMenu(content); - await this.waitForContentOptions(); await BrowserActions.click(this.versionManagerAction); } @@ -178,13 +175,6 @@ export class ContentServicesPage { await BrowserActions.click(this.lockContentElement); } - async waitForContentOptions(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.copyContentElement); - await BrowserVisibility.waitUntilElementIsVisible(this.moveContentElement); - await BrowserVisibility.waitUntilElementIsVisible(this.deleteContentElement); - await BrowserVisibility.waitUntilElementIsVisible(this.downloadContent); - } - async clickFileHyperlink(fileName): Promise { const hyperlink = this.contentList.dataTablePage().getFileHyperlink(fileName); await BrowserActions.click(hyperlink); @@ -641,6 +631,7 @@ export class ContentServicesPage { } async clickShareButton(): Promise { + await browser.sleep(2000); await BrowserActions.closeMenuAndDialogs(); await BrowserActions.click(this.shareNodeButton); } diff --git a/e2e/core/pages/trashcan.page.ts b/e2e/core/pages/trashcan.page.ts index 39bc1337d5..ff94afd0c4 100644 --- a/e2e/core/pages/trashcan.page.ts +++ b/e2e/core/pages/trashcan.page.ts @@ -16,7 +16,7 @@ */ import { BrowserActions, BrowserVisibility, DocumentListPage } from '@alfresco/adf-testing'; -import { Locator, element, by } from 'protractor'; +import { Locator, element, by, browser } from 'protractor'; export class TrashcanPage { @@ -49,6 +49,7 @@ export class TrashcanPage { async clickRestore(): Promise { await BrowserActions.click(this.restoreButton); + await browser.sleep(2000); } async checkRestoreButtonIsNotDisplayed(): Promise { diff --git a/e2e/core/pagination-empty-current-page.e2e.ts b/e2e/core/pagination-empty-current-page.e2e.ts index 6186559303..f9dec2e160 100644 --- a/e2e/core/pagination-empty-current-page.e2e.ts +++ b/e2e/core/pagination-empty-current-page.e2e.ts @@ -77,7 +77,7 @@ describe('Pagination - returns to previous page when current is empty', () => { fileNames = StringUtil.generateFilesNames(1, nrOfFiles, files.base, files.extension); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const folderUploadedModel = await uploadActions.createFolder(folderModel.name, '-my-'); @@ -93,7 +93,7 @@ describe('Pagination - returns to previous page when current is empty', () => { pngFileUploaded = await uploadActions.uploadFile(pngFileInfo.location, pngFileInfo.name, lastFolderResponse.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/user-info-component-cloud.e2e.ts b/e2e/core/user-info-component-cloud.e2e.ts index d0c329f8fa..29e6965005 100644 --- a/e2e/core/user-info-component-cloud.e2e.ts +++ b/e2e/core/user-info-component-cloud.e2e.ts @@ -38,7 +38,7 @@ describe('User Info - SSO', () => { browser.params.testConfig.appConfig.oauth2.host, browser.params.testConfig.appConfig.identityHost, false, true, browser.params.testConfig.appConfig.oauth2.clientId); - await loginSSOPage.loginSSOIdentityService(identityUser.email, identityUser.password); + await loginSSOPage.loginSSOIdentityService(identityUser.username, identityUser.password); }); it('[C290066] Should display UserInfo when login using SSO', async () => { diff --git a/e2e/core/viewer/file-extensions/viewer-archive.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-archive.component.e2e.ts index d223907765..ec6f4165b4 100644 --- a/e2e/core/viewer/file-extensions/viewer-archive.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-archive.component.e2e.ts @@ -57,10 +57,10 @@ describe('Viewer', () => { visibility: 'PUBLIC' }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -76,7 +76,7 @@ describe('Viewer', () => { beforeAll(async () => { archiveFolderUploaded = await uploadActions.createFolder(archiveFolderInfo.name, '-my-'); uploadedArchives = await uploadActions.uploadFolder(archiveFolderInfo.location, archiveFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-component.e2e.ts index 990110e172..228d823c5f 100644 --- a/e2e/core/viewer/file-extensions/viewer-component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-component.e2e.ts @@ -69,11 +69,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); pngFileUploaded = await uploadActions.uploadFile(pngFileInfo.location, pngFileInfo.name, site.entry.guid); }); @@ -81,11 +81,10 @@ describe('Viewer', () => { afterAll(async () => { await apiService.loginWithProfile('admin'); await apiService.getInstance().core.sitesApi.deleteSite(site.entry.id, { permanent: true }); - await navigationBarPage.clickLogoutButton(); }); it('[C272813] Should be redirected to site when opening and closing a file in a site', async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await navigationBarPage.goToSite(site); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); @@ -95,6 +94,7 @@ describe('Viewer', () => { await viewerPage.checkImgViewerIsDisplayed(); await viewerPage.clickCloseButton(); + await navigationBarPage.clickLogoutButton(); }); describe('Other Folder Uploaded', () => { @@ -102,11 +102,12 @@ describe('Viewer', () => { let otherFolderUploaded; beforeAll(async () => { + await apiService.login(acsUser.username, acsUser.password); otherFolderUploaded = await uploadActions.createFolder(otherFolderInfo.name, '-my-'); uploadedOthers = await uploadActions.uploadFolder(otherFolderInfo.location, otherFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts index 5ba9330c4a..acadc5e236 100644 --- a/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts @@ -56,11 +56,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -77,7 +77,7 @@ describe('Viewer', () => { uploadedExcels = await uploadActions.uploadFolder(excelFolderInfo.location, excelFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts index ad21ca6217..56819805b7 100644 --- a/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts @@ -62,11 +62,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -87,7 +87,7 @@ describe('Viewer', () => { uploadedImgRenditionFolderInfo = await uploadActions.uploadFolder(imgRenditionFolderInfo.location, imgFolderRenditionUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts index c14346a303..455cf642d0 100644 --- a/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts @@ -58,11 +58,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -79,7 +79,7 @@ describe('Viewer', () => { uploadedPpt = await uploadActions.uploadFolder(pptFolderInfo.location, pptFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts index 9208d66fa6..d849d778fa 100644 --- a/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts @@ -56,11 +56,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -77,7 +77,7 @@ describe('Viewer', () => { uploadedTexts = await uploadActions.uploadFolder(textFolderInfo.location, textFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts index 00661c4579..961bbc15e2 100644 --- a/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts @@ -58,11 +58,11 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); }); afterAll(async () => { @@ -80,7 +80,7 @@ describe('Viewer', () => { uploadedWords = await uploadActions.uploadFolder(wordFolderInfo.location, wordFolderUploaded.entry.id); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/viewer-content-services-component.e2e.ts b/e2e/core/viewer/viewer-content-services-component.e2e.ts index 90aa2f73f0..652fe1e977 100644 --- a/e2e/core/viewer/viewer-content-services-component.e2e.ts +++ b/e2e/core/viewer/viewer-content-services-component.e2e.ts @@ -92,7 +92,7 @@ describe('Content Services Viewer', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const pdfFileUploaded = await uploadActions.uploadFile(pdfFile.location, pdfFile.name, '-my-'); Object.assign(pdfFile, pdfFileUploaded.entry); @@ -115,7 +115,7 @@ describe('Content Services Viewer', () => { const unsupportedFileUploaded = await uploadActions.uploadFile(unsupportedFile.location, unsupportedFile.name, '-my-'); Object.assign(unsupportedFile, unsupportedFileUploaded.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); }); diff --git a/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts b/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts index c25972eec8..db8afc3c0d 100644 --- a/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts +++ b/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts @@ -51,11 +51,11 @@ describe('Viewer', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); txtFileUploaded = await uploadActions.uploadFile(txtFileInfo.location, txtFileInfo.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/core/viewer/viewer-properties.e2e.ts b/e2e/core/viewer/viewer-properties.e2e.ts index 2bb114bf76..d5e44e3491 100644 --- a/e2e/core/viewer/viewer-properties.e2e.ts +++ b/e2e/core/viewer/viewer-properties.e2e.ts @@ -29,7 +29,7 @@ import { ContentServicesPage } from '../../core/pages/content-services.page'; import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { FileModel } from '../../models/ACS/file.model'; -describe('Viewer - properties', () => { +describe('Viewer', () => { const acsUser = new UserModel(); const viewerPage = new ViewerPage(); @@ -56,7 +56,7 @@ describe('Viewer - properties', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); let pngFileUploaded = await uploadActions.uploadFile(pngFile.location, pngFile.name, '-my-'); Object.assign(pngFile, pngFileUploaded.entry); @@ -64,126 +64,137 @@ describe('Viewer - properties', () => { pngFileUploaded = await uploadActions.uploadFile(fileForOverlay.location, fileForOverlay.name, '-my-'); Object.assign(fileForOverlay, pngFileUploaded.entry); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await contentServicesPage.goToDocumentList(); - - await viewerPage.viewFile(pngFile.name); - - await viewerPage.clickLeftSidebarButton(); - await viewerPage.checkLeftSideBarIsDisplayed(); - }); + }); afterAll(async () => { await uploadActions.deleteFileOrFolder(pngFile.getId()); await navigationBarPage.clickLogoutButton(); - }); - - it('[C260066] Should Show/Hide viewer toolbar when showToolbar is true/false', async () => { - await viewerPage.checkToolbarIsDisplayed(); - await viewerPage.disableToolbar(); - await viewerPage.checkToolbarIsNotDisplayed(); - await viewerPage.enableToolbar(); }); - it('[C260076] Should Show/Hide back button when allowGoBack is true/false', async () => { - await viewerPage.checkGoBackIsDisplayed(); - await viewerPage.disableGoBack(); - await viewerPage.checkGoBackIsNotDisplayed(); - await viewerPage.enableGoBack(); - }); + describe('properties', () => { - it('[C260077] Should Show toolbar options dropdown when adf-viewer-open-with directive is used', async () => { - await viewerPage.checkToolbarOptionsIsNotDisplayed(); - await viewerPage.enableToolbarOptions(); - await viewerPage.checkToolbarOptionsIsDisplayed(); - await viewerPage.disableToolbarOptions(); - }); + beforeAll(async () => { + await viewerPage.viewFile(pngFile.name); - it('[C260079] Should Show/Hide download button when allowDownload is true/false', async () => { - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.disableDownload(); - await viewerPage.checkDownloadButtonIsNotDisplayed(); - await viewerPage.enableDownload(); - }); + await viewerPage.clickLeftSidebarButton(); + await viewerPage.checkLeftSideBarIsDisplayed(); + }); - it('[C260082] Should Show/Hide print button when allowPrint is true/false', async () => { - await viewerPage.checkPrintButtonIsDisplayed(); - await viewerPage.disablePrint(); - await viewerPage.checkPrintButtonIsNotDisplayed(); - await viewerPage.enablePrint(); - }); + afterAll(async () => { + await viewerPage.clickCloseButton(); + }); - it('[C260092] Should show adf-viewer-toolbar-actions directive buttons when adf-viewer-toolbar-actions is used', async () => { - await viewerPage.checkMoreActionsDisplayed(); + it('[C260066] Should Show/Hide viewer toolbar when showToolbar is true/false', async () => { + await viewerPage.checkToolbarIsDisplayed(); + await viewerPage.disableToolbar(); + await viewerPage.checkToolbarIsNotDisplayed(); + await viewerPage.enableToolbar(); + }); - await viewerPage.disableMoreActions(); + it('[C260076] Should Show/Hide back button when allowGoBack is true/false', async () => { + await viewerPage.checkGoBackIsDisplayed(); + await viewerPage.disableGoBack(); + await viewerPage.checkGoBackIsNotDisplayed(); + await viewerPage.enableGoBack(); + }); - await viewerPage.checkMoreActionsIsNotDisplayed(); + it('[C260077] Should Show toolbar options dropdown when adf-viewer-open-with directive is used', async () => { + await viewerPage.checkToolbarOptionsIsNotDisplayed(); + await viewerPage.enableToolbarOptions(); + await viewerPage.checkToolbarOptionsIsDisplayed(); + await viewerPage.disableToolbarOptions(); + }); - await viewerPage.enableMoreActions(); - }); + it('[C260079] Should Show/Hide download button when allowDownload is true/false', async () => { + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.disableDownload(); + await viewerPage.checkDownloadButtonIsNotDisplayed(); + await viewerPage.enableDownload(); + }); - it('[C260074] Should show a custom file name when displayName property is used', async () => { - await viewerPage.checkFileNameIsDisplayed(pngFile.name); + it('[C260082] Should Show/Hide print button when allowPrint is true/false', async () => { + await viewerPage.checkPrintButtonIsDisplayed(); + await viewerPage.disablePrint(); + await viewerPage.checkPrintButtonIsNotDisplayed(); + await viewerPage.enablePrint(); + }); - await viewerPage.enableCustomName(); + it('[C260092] Should show adf-viewer-toolbar-actions directive buttons when adf-viewer-toolbar-actions is used', async () => { + await viewerPage.checkMoreActionsDisplayed(); - await viewerPage.enterCustomName('test custom title'); - await viewerPage.checkFileNameIsDisplayed('test custom title'); + await viewerPage.disableMoreActions(); - await viewerPage.disableCustomName(); - }); + await viewerPage.checkMoreActionsIsNotDisplayed(); - it('[C260090] Should showSidebar allow right info-drawer to be shown', async () => { - await viewerPage.clickToggleRightSidebar(); - await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.enableMoreActions(); + }); - await viewerPage.clickToggleRightSidebar(); - await viewerPage.checkInfoSideBarIsNotDisplayed(); - }); + it('[C260074] Should show a custom file name when displayName property is used', async () => { + await viewerPage.checkFileNameIsDisplayed(pngFile.name); - it('[C286442] Should showLeftSidebar allow left info-drawer to be shown', async () => { - await viewerPage.clickToggleLeftSidebar(); - await viewerPage.checkLeftSideBarIsNotDisplayed(); - await viewerPage.clickLeftSidebarButton(); - await viewerPage.checkLeftSideBarIsDisplayed(); - }); + await viewerPage.enableCustomName(); - it('[C260089] Should Show/Hide info-drawer if allowSidebar true/false', async () => { - await viewerPage.clickInfoButton(); + await viewerPage.enterCustomName('test custom title'); + await viewerPage.checkFileNameIsDisplayed('test custom title'); - await viewerPage.checkInfoSideBarIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.disableCustomName(); + }); - await viewerPage.disableAllowSidebar(); + it('[C260090] Should showSidebar allow right info-drawer to be shown', async () => { + await viewerPage.clickToggleRightSidebar(); + await viewerPage.checkInfoSideBarIsDisplayed(); - await viewerPage.checkInfoButtonIsNotDisplayed(); - await viewerPage.checkInfoSideBarIsNotDisplayed(); - }); + await viewerPage.clickToggleRightSidebar(); + await viewerPage.checkInfoSideBarIsNotDisplayed(); + }); - it('[C286596] Should Show/Hide left info-drawer if allowLeftSidebar true/false', async () => { - await viewerPage.checkLeftSideBarIsDisplayed(); - await viewerPage.checkLeftSideBarButtonIsDisplayed(); + it('[C286442] Should showLeftSidebar allow left info-drawer to be shown', async () => { + await viewerPage.clickToggleLeftSidebar(); + await viewerPage.checkLeftSideBarIsNotDisplayed(); + await viewerPage.clickLeftSidebarButton(); + await viewerPage.checkLeftSideBarIsDisplayed(); + }); - await viewerPage.disableAllowLeftSidebar(); + it('[C260089] Should Show/Hide info-drawer if allowSidebar true/false', async () => { + await viewerPage.clickInfoButton(); + + await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + + await viewerPage.disableAllowSidebar(); + + await viewerPage.checkInfoButtonIsNotDisplayed(); + await viewerPage.checkInfoSideBarIsNotDisplayed(); + }); + + it('[C286596] Should Show/Hide left info-drawer if allowLeftSidebar true/false', async () => { + await viewerPage.checkLeftSideBarIsDisplayed(); + await viewerPage.checkLeftSideBarButtonIsDisplayed(); + + await viewerPage.disableAllowLeftSidebar(); + + await viewerPage.checkLeftSideBarButtonIsNotDisplayed(); + await viewerPage.checkLeftSideBarIsNotDisplayed(); + }); - await viewerPage.checkLeftSideBarButtonIsNotDisplayed(); - await viewerPage.checkLeftSideBarIsNotDisplayed(); }); it('[C260100] Should be possible to disable Overlay viewer', async () => { - await viewerPage.clickCloseButton(); await navigationBarPage.clickOverlayViewerButton(); - await dataTable.doubleClickRow('Name', fileForOverlay.name); await viewerPage.checkOverlayViewerIsDisplayed(); + await viewerPage.clickCloseButton(); await dataTable.doubleClickRow('Name', pngFile.name); + await viewerPage.checkOverlayViewerIsDisplayed(); await viewerPage.clickCloseButton(); await viewerPage.disableOverlay(); + await dataTable.doubleClickRow('Name', fileForOverlay.name); await viewerPage.checkImgContainerIsDisplayed(); await viewerPage.checkInlineViewerIsDisplayed(); @@ -191,4 +202,5 @@ describe('Viewer - properties', () => { await viewerPage.checkImgContainerIsDisplayed(); await viewerPage.checkInlineViewerIsDisplayed(); }); -}); +}) +; diff --git a/e2e/core/viewer/viewer-share-content.ts b/e2e/core/viewer/viewer-share-content.ts index f3dfc51227..dabf12651d 100644 --- a/e2e/core/viewer/viewer-share-content.ts +++ b/e2e/core/viewer/viewer-share-content.ts @@ -71,15 +71,15 @@ describe('Viewer', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: acsUser.email, + id: acsUser.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); pngFileUploaded = await uploadActions.uploadFile(pngFileInfo.location, pngFileInfo.name, site.entry.guid); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); wordFileUploaded = await uploadActions.uploadFile(wordFileInfo.location, wordFileInfo.name, '-my-'); @@ -88,12 +88,12 @@ describe('Viewer', () => { afterAll(async () => { await apiService.getInstance().core.sitesApi.deleteSite(site.entry.id, { permanent: true }); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.deleteFileOrFolder(wordFileUploaded.entry.id); }); beforeEach(async () => { - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); it('[C260105] Should be able to open an image file shared via API', async () => { diff --git a/e2e/insights/analytics-component.e2e.ts b/e2e/insights/analytics-component.e2e.ts index d3df791460..e76cdac109 100644 --- a/e2e/insights/analytics-component.e2e.ts +++ b/e2e/insights/analytics-component.e2e.ts @@ -40,7 +40,7 @@ describe('Analytics Smoke Test', () => { procUserModel = await usersActions.createUser(); - await loginPage.login(procUserModel.email, procUserModel.password); + await loginPage.login(procUserModel.username, procUserModel.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts b/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts index b072d34662..3c7520872e 100644 --- a/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts +++ b/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts @@ -32,8 +32,8 @@ describe('About Process Services Cloud', () => { beforeAll(async () => { await apiService.loginWithProfile('identityAdmin'); testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER, identityService.ROLES.ACTIVITI_DEVOPS]); - await loginSSOPage.login(testUser.email, testUser.password); - await apiService.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); + await apiService.login(testUser.username, testUser.password); await navigationBarPage.clickAboutButton(); }); diff --git a/e2e/process-services-cloud/apps-section-cloud.e2e.ts b/e2e/process-services-cloud/apps-section-cloud.e2e.ts index 77ddd9b861..1baeaceba4 100644 --- a/e2e/process-services-cloud/apps-section-cloud.e2e.ts +++ b/e2e/process-services-cloud/apps-section-cloud.e2e.ts @@ -39,8 +39,8 @@ describe('Applications list', () => { await apiService.loginWithProfile('identityAdmin'); testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER, identityService.ROLES.ACTIVITI_DEVOPS]); - await loginSSOPage.login(testUser.email, testUser.password); - await apiService.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); + await apiService.login(testUser.username, testUser.password); applications = await applicationsService.getApplicationsByStatus('RUNNING'); diff --git a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts index 84d66f6aba..2dc581cb0f 100644 --- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts @@ -53,7 +53,7 @@ describe('Edit process filters cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts b/e2e/process-services-cloud/edit-task-filters-component.e2e.ts index bfa6cc2d27..913b501350 100644 --- a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-task-filters-component.e2e.ts @@ -54,12 +54,12 @@ describe('Edit task filters cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp); await tasksService.claimTask(assignedTask.entry.id, simpleApp); await tasksService.createAndCompleteTask(completedTaskName, simpleApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts b/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts index f58997ca14..a24158c923 100644 --- a/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts +++ b/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts @@ -56,7 +56,7 @@ describe('Form Field Component - Dropdown Widget', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); @@ -69,7 +69,7 @@ describe('Form Field Component - Dropdown Widget', () => { task = await tasklist.list.entries[0]; await tasksService.claimTask(task.entry.id, simpleApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts b/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts index 204df414ad..2b2a7346dd 100644 --- a/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts +++ b/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts @@ -62,7 +62,7 @@ describe('Task cloud visibility', async () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts index a61a6563c2..718b28f319 100644 --- a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts @@ -80,7 +80,7 @@ describe('People Groups Cloud Component', () => { `${testUser.idIdentityService}`, `${devopsUser.idIdentityService}`]; groups = [`${groupUser.id}`, `${groupAdmin.id}`, `${groupNoRole.id}`]; - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts b/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts index c2da8d49fd..a78a8aebf5 100644 --- a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts +++ b/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts @@ -57,7 +57,7 @@ describe('People Groups Cloud Component', () => { users = [apsUser.idIdentityService, noRoleUser.idIdentityService, testUser.idIdentityService]; - await loginSSOPage.login(apsUser.email, apsUser.password); + await loginSSOPage.login(apsUser.username, apsUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process-custom-filters.e2e.ts index 2fd84aee2f..c84470abdc 100644 --- a/e2e/process-services-cloud/process-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/process-custom-filters.e2e.ts @@ -57,7 +57,7 @@ describe('Process list cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.processes.candidateGroupProcess, candidateBaseApp); @@ -91,13 +91,13 @@ describe('Process list cloud', () => { const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp); await tasksService.completeTask(claimedTask.entry.id, candidateBaseApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); }); afterAll(async () => { - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); await processInstancesService.deleteProcessInstance(anotherProcessInstance.entry.id, candidateBaseApp); await apiService.loginWithProfile('identityAdmin'); await identityService.deleteIdentityUser(testUser.idIdentityService); diff --git a/e2e/process-services-cloud/process-filter-results.e2e.ts b/e2e/process-services-cloud/process-filter-results.e2e.ts index c8d1c2c240..b625882654 100644 --- a/e2e/process-services-cloud/process-filter-results.e2e.ts +++ b/e2e/process-services-cloud/process-filter-results.e2e.ts @@ -79,7 +79,7 @@ describe('Process filters cloud', () => { await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); await identityService.addUserToGroup(anotherUser.idIdentityService, groupInfo.id); - await apiService.login(anotherUser.email, anotherUser.password); + await apiService.login(anotherUser.username, anotherUser.password); simpleAppProcessDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp); @@ -88,7 +88,7 @@ describe('Process filters cloud', () => { 'businessKey': StringUtil.generateRandomString() }); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.processes.candidateGroupProcess, candidateBaseApp); @@ -120,7 +120,7 @@ describe('Process filters cloud', () => { const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp); await tasksService.completeTask(claimedTask.entry.id, candidateBaseApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); }); @@ -130,7 +130,7 @@ describe('Process filters cloud', () => { await processInstancesService.deleteProcessInstance(anotherProcessInstance.entry.id, candidateBaseApp); await processInstancesService.deleteProcessInstance(suspendProcessInstance.entry.id, candidateBaseApp); - await apiService.login(anotherUser.email, anotherUser.password); + await apiService.login(anotherUser.username, anotherUser.password); await processInstancesService.deleteProcessInstance(differentAppUserProcessInstance.entry.id, simpleApp); await apiService.loginWithProfile('identityAdmin'); diff --git a/e2e/process-services-cloud/process-filters-cloud.e2e.ts b/e2e/process-services-cloud/process-filters-cloud.e2e.ts index b739d99daf..34858e9098 100644 --- a/e2e/process-services-cloud/process-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-filters-cloud.e2e.ts @@ -63,7 +63,7 @@ describe('Process filters cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.processes.candidateGroupProcess, candidateBaseApp); @@ -82,7 +82,7 @@ describe('Process filters cloud', () => { const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp); await tasksService.completeTask(claimedTask.entry.id, candidateBaseApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }, 5 * 60 * 1000); diff --git a/e2e/process-services-cloud/process-header-cloud.e2e.ts b/e2e/process-services-cloud/process-header-cloud.e2e.ts index 36033c48bc..eb546d5f18 100644 --- a/e2e/process-services-cloud/process-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-header-cloud.e2e.ts @@ -60,7 +60,7 @@ describe('Process Header cloud component', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const dropdownRestProcess = await processDefinitionService.getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); @@ -81,7 +81,7 @@ describe('Process Header cloud component', () => { completedCreatedDate = moment(childCompleteProcess.entry.startDate).format(formatDate); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); }); diff --git a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts index f664ed5dd8..c1462ae49e 100644 --- a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts +++ b/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts @@ -58,7 +58,7 @@ describe('Process list cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp); @@ -71,7 +71,7 @@ describe('Process list cloud', () => { 'businessKey': StringUtil.generateRandomString() }); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); diff --git a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts b/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts index 2bfba57548..6e02125934 100644 --- a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts @@ -58,7 +58,7 @@ describe('Process list cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp); @@ -67,7 +67,7 @@ describe('Process list cloud', () => { processInstances.push(response.entry.id); } - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); }); diff --git a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts b/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts index 372461c125..91f97cc558 100644 --- a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts @@ -87,18 +87,18 @@ describe('Process Task - Attach content file', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService.getProcessDefinitionByName(processDefinitionName, simpleApp); processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp, { name: 'upload process' }); const task = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); await tasksService.claimTask(task.list.entries[0].entry.id, simpleApp); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); await uploadActions.uploadFile(pdfFileOne.location, pdfFileOne.name, uploadedFolder.entry.id); await uploadActions.uploadFile(pdfFileTwo.location, pdfFileTwo.name, uploadedFolder.entry.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); }); diff --git a/e2e/process-services-cloud/start-process-cloud.e2e.ts b/e2e/process-services-cloud/start-process-cloud.e2e.ts index a4b96d8c2f..5f723fc8e0 100644 --- a/e2e/process-services-cloud/start-process-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-process-cloud.e2e.ts @@ -48,7 +48,7 @@ describe('Start Process', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); diff --git a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts index 9819eebe8a..9f923d9bb2 100644 --- a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts @@ -101,7 +101,7 @@ describe('Start Task Form', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); processDefinitionService = new ProcessDefinitionsService(apiService); processInstancesService = new ProcessInstancesService(apiService); processDefinition = await processDefinitionService @@ -141,18 +141,18 @@ describe('Start Task Form', () => { 'businessKey': StringUtil.generateRandomString() }); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); uploadedFolder = await uploadActions.createFolder(folderName, '-my-'); await uploadActions.uploadFile(testFileModel.location, testFileModel.name, uploadedFolder.entry.id); await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, uploadedFolder.entry.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-cloud-start-process', JSON.stringify(startProcessCloudConfig)); }); afterAll(async () => { await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const standaloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp); await tasksService.deleteTask(standaloneTaskId, candidateBaseApp); diff --git a/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts index 1064d00836..3b8f04a5fb 100644 --- a/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts @@ -67,9 +67,9 @@ describe('Start Task', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); await identityService.addUserToGroup(apsUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { @@ -80,7 +80,7 @@ describe('Start Task', () => { taskId = await tasksService.getTaskId(unassignedTaskName, simpleApp); await tasksService.deleteTask(taskId, simpleApp); - await apiService.login(apsUser.email, apsUser.password); + await apiService.login(apsUser.username, apsUser.password); taskId = await tasksService.getTaskId(reassignTaskName, simpleApp); await tasksService.deleteTask(taskId, simpleApp); diff --git a/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts index c8ebec286f..d8c118906b 100644 --- a/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts @@ -63,11 +63,11 @@ describe('Start Task - Group Cloud Component', () => { await identityService.addUserToGroup(testUser.idIdentityService, hrGroup.id); await identityService.addUserToGroup(apsUser.idIdentityService, testGroup.id); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const tasksService = new TasksService(apiService); const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp); diff --git a/e2e/process-services-cloud/task-filters-cloud.e2e.ts b/e2e/process-services-cloud/task-filters-cloud.e2e.ts index e4457f11f3..513e63e72d 100644 --- a/e2e/process-services-cloud/task-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-filters-cloud.e2e.ts @@ -57,9 +57,9 @@ describe('Task filters cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts b/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts index b962b76b76..1ddbd478c8 100644 --- a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts +++ b/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts @@ -94,7 +94,7 @@ describe('Task form cloud component', () => { const groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiServiceHrUser.login(testUser.email, testUser.password); + await apiServiceHrUser.login(testUser.username, testUser.password); const tasksService = new TasksService(apiServiceHrUser); assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); @@ -139,7 +139,7 @@ describe('Task form cloud component', () => { processInstancesService = new ProcessInstancesService(apiServiceHrUser); await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }, 5 * 60 * 1000); diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-header-cloud.e2e.ts index 0ec7eedb2f..0117ad2a0b 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-header-cloud.e2e.ts @@ -102,7 +102,7 @@ describe('Task Header cloud component', () => { testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER]); groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); unclaimedTask = await tasksService.createStandaloneTask(unclaimedTaskName, simpleApp); @@ -119,7 +119,7 @@ describe('Task Header cloud component', () => { subTaskCreatedDate = moment(subTask.entry.createdDate).format(formatDate); await browser.sleep(3000); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts index f3582e73dd..d3941a2212 100644 --- a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts +++ b/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts @@ -48,7 +48,7 @@ describe('Process list cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); const processDefinition = await processDefinitionService .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); @@ -60,7 +60,7 @@ describe('Process list cloud', () => { await tasksService.claimTask(editTask.list.entries[0].entry.id, simpleApp); await tasksService.claimTask(deleteTask.list.entries[0].entry.id, simpleApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async() => { diff --git a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts b/e2e/process-services-cloud/task-list-properties-sort.e2e.ts index a425c57632..709138442c 100644 --- a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts +++ b/e2e/process-services-cloud/task-list-properties-sort.e2e.ts @@ -50,7 +50,7 @@ describe('Edit task filters and task list properties', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp); @@ -75,7 +75,7 @@ describe('Edit task filters and task list properties', () => { const jsonFile = new TaskListCloudConfiguration().getConfiguration(); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({ 'filterProperties': [ diff --git a/e2e/process-services-cloud/task-list-properties.e2e.ts b/e2e/process-services-cloud/task-list-properties.e2e.ts index 18c0dfc30b..b9eab26ba6 100644 --- a/e2e/process-services-cloud/task-list-properties.e2e.ts +++ b/e2e/process-services-cloud/task-list-properties.e2e.ts @@ -62,7 +62,7 @@ describe('Edit task filters and task list properties', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp); @@ -88,7 +88,7 @@ describe('Edit task filters and task list properties', () => { const jsonFile = new TaskListCloudConfiguration().getConfiguration(); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration)); }, 5 * 60 * 1000); diff --git a/e2e/process-services-cloud/task-list-selection.e2e.ts b/e2e/process-services-cloud/task-list-selection.e2e.ts index 434a322582..2a8c942011 100644 --- a/e2e/process-services-cloud/task-list-selection.e2e.ts +++ b/e2e/process-services-cloud/task-list-selection.e2e.ts @@ -55,7 +55,7 @@ describe('Task list cloud - selection', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); for (let i = 0; i < noOfTasks; i++) { response = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); @@ -63,7 +63,7 @@ describe('Task list cloud - selection', () => { tasks.push(response.entry.name); } - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }); afterAll(async () => { diff --git a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts index abab5ddfe9..28b72b37b1 100644 --- a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts @@ -66,7 +66,7 @@ describe('Task filters cloud', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - await apiService.login(testUser.email, testUser.password); + await apiService.login(testUser.username, testUser.password); await tasksService.createStandaloneTask(createdTaskName, simpleApp); @@ -91,7 +91,7 @@ describe('Task filters cloud', () => { await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp); await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); - await loginSSOPage.login(testUser.email, testUser.password); + await loginSSOPage.login(testUser.username, testUser.password); }, 5 * 60 * 1000); diff --git a/e2e/process-services/about-process-services.e2e.ts b/e2e/process-services/about-process-services.e2e.ts index 56ef49d4ea..32fe300fd0 100644 --- a/e2e/process-services/about-process-services.e2e.ts +++ b/e2e/process-services/about-process-services.e2e.ts @@ -31,8 +31,8 @@ describe('About Process Services', () => { beforeAll(async() => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); - await loginPage.login(user.email, user.password); + await apiService.login(user.username, user.password); + await loginPage.login(user.username, user.password); await navigationBarPage.clickAboutButton(); }); diff --git a/e2e/process-services/apps-section.e2e.ts b/e2e/process-services/apps-section.e2e.ts index 94148adc31..c0adc05751 100644 --- a/e2e/process-services/apps-section.e2e.ts +++ b/e2e/process-services/apps-section.e2e.ts @@ -45,12 +45,12 @@ describe('Modify applications', () => { const user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); firstApp = await applicationService.importPublishDeployApp(app.file_path); appVersionToBeDeleted = await applicationService.importPublishDeployApp(appToBeDeleted.file_path); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); beforeEach(async () => { diff --git a/e2e/process-services/attach-file-content-service.e2e.ts b/e2e/process-services/attach-file-content-service.e2e.ts index 796896c279..c3e7ed9554 100644 --- a/e2e/process-services/attach-file-content-service.e2e.ts +++ b/e2e/process-services/attach-file-content-service.e2e.ts @@ -93,7 +93,7 @@ describe('Attach File - Content service', () => { host: browser.params.testConfig.adf_external_acs.host }); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await uploadActions.uploadFile(pdfFileTwo.location, pdfFileTwo.name, '-my-'); await applicationService.importPublishDeployApp(app.file_path); @@ -107,7 +107,7 @@ describe('Attach File - Content service', () => { }); beforeEach(async () => { - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton(); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); }); @@ -153,7 +153,7 @@ describe('Attach File - Content service', () => { await externalNodeSelector.waitForLogInDialog(); await expect(await externalNodeSelector.getTitle()).toEqual(`Sign into '${browser.params.testConfig.adf_external_acs.host}'`); - await externalNodeSelector.login(user.email, user.password); + await externalNodeSelector.login(user.username, user.password); await externalNodeSelector.checkDialogIsDisplayed(); await searchService.isSearchable(externalFile); @@ -185,7 +185,7 @@ describe('Attach File - Content service', () => { await widget.attachFileWidget().selectUploadSource(csIntegrations[1]); await externalNodeSelector.waitForLogInDialog(); - await externalNodeSelector.login(user.email, user.password); + await externalNodeSelector.login(user.username, user.password); await searchService.isSearchable(externalFile); await externalNodeSelector.searchAndSelectResult(externalFile, externalFile); diff --git a/e2e/process-services/attach-file-widget-start-task-app.e2e.ts b/e2e/process-services/attach-file-widget-start-task-app.e2e.ts index 18c3e1c937..8b8b231930 100644 --- a/e2e/process-services/attach-file-widget-start-task-app.e2e.ts +++ b/e2e/process-services/attach-file-widget-start-task-app.e2e.ts @@ -54,9 +54,9 @@ describe('Start Task - Task App', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationService.importPublishDeployApp(app.file_path); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/attach-folder.e2e.ts b/e2e/process-services/attach-folder.e2e.ts index 45da16c6bc..24120270bb 100644 --- a/e2e/process-services/attach-folder.e2e.ts +++ b/e2e/process-services/attach-folder.e2e.ts @@ -63,11 +63,11 @@ describe('Attach Folder', () => { name: 'adf dev', host: browser.params.testConfig.appConfig.ecmHost }); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationService.importPublishDeployApp(app.file_path); await new UploadActions(apiService).createFolder(folderName, '-my-'); await searchService.isSearchable(folderName); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/attach-form-component.e2e.ts b/e2e/process-services/attach-form-component.e2e.ts index f4cb57312a..a95b9de406 100644 --- a/e2e/process-services/attach-form-component.e2e.ts +++ b/e2e/process-services/attach-form-component.e2e.ts @@ -56,13 +56,13 @@ describe('Attach Form Component', () => { tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); appModel = await applicationService.importPublishDeployApp(app.file_path); await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: testNames.taskName })); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/checklist-component.e2e.ts b/e2e/process-services/checklist-component.e2e.ts index 2e0f370dc5..a172c01e41 100644 --- a/e2e/process-services/checklist-component.e2e.ts +++ b/e2e/process-services/checklist-component.e2e.ts @@ -54,7 +54,7 @@ describe('Checklist component', () => { const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location); const file = fs.createReadStream(pathFile); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await apiService.getInstance().activiti.appsApi.importAppDefinition(file); @@ -62,7 +62,7 @@ describe('Checklist component', () => { await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[i] })); } - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/comment-component-processes.e2e.ts b/e2e/process-services/comment-component-processes.e2e.ts index 2281d05a8f..9ee8b437ee 100644 --- a/e2e/process-services/comment-component-processes.e2e.ts +++ b/e2e/process-services/comment-component-processes.e2e.ts @@ -38,20 +38,20 @@ describe('Comment component for Processes', () => { const processName = 'Comment APS'; beforeAll(async () => { - await apiService.loginWithProfile('admin'); + await apiService.loginWithProfile('admin'); - user = await usersActions.createUser(); + user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); - const importedApp = await applicationsService.importPublishDeployApp(app.file_path); - appId = importedApp.id; + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); + appId = importedApp.id; - const processWithComment = await new ProcessUtil(apiService).startProcessOfApp(importedApp.name, processName); - processInstanceId = processWithComment.id; + const processWithComment = await new ProcessUtil(apiService).startProcessOfApp(importedApp.name, processName); + processInstanceId = processWithComment.id; - await loginPage.login(user.email, user.password); - }); + await loginPage.login(user.username, user.password); + }); afterAll(async () => { await apiService.getInstance().activiti.modelsApi.deleteModel(appId); @@ -71,7 +71,7 @@ describe('Comment component for Processes', () => { await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (' + addedComment.total + ')'); + await commentsPage.getTotalNumberOfComments('Comments (' + addedComment.total + ')'); await expect(await commentsPage.getMessage(0)).toEqual(addedComment.data[0].message); await expect(await commentsPage.getUserName(0)).toEqual(addedComment.data[0].createdBy.firstName + ' ' + addedComment.data[0].createdBy.lastName); await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); @@ -109,7 +109,7 @@ describe('Comment component for Processes', () => { await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (' + addedTaskComment.total + ')'); + await commentsPage.getTotalNumberOfComments('Comments (' + addedTaskComment.total + ')'); await expect(await commentsPage.getMessage(0)).toEqual(addedTaskComment.data[0].message); await expect(await commentsPage.getUserName(0)).toEqual(addedTaskComment.data[0].createdBy.firstName + ' ' + addedTaskComment.data[0].createdBy.lastName); await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/); diff --git a/e2e/process-services/comment-component-tasks.e2e.ts b/e2e/process-services/comment-component-tasks.e2e.ts index 77d8968b44..a1a754793d 100644 --- a/e2e/process-services/comment-component-tasks.e2e.ts +++ b/e2e/process-services/comment-component-tasks.e2e.ts @@ -50,12 +50,12 @@ describe('Comment component for Processes', () => { user = await usersActions.createUser(); secondUser = await usersActions.createUser(new UserModel({ tenantId: user.tenantId })); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const importedApp = await new ApplicationsUtil(apiService).importPublishDeployApp(app.file_path); appId = importedApp.id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { @@ -105,7 +105,7 @@ describe('Comment component for Processes', () => { await commentsPage.checkUserIconIsDisplayed(); await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (' + totalCommentsLatest.total + ')'); + await commentsPage.getTotalNumberOfComments('Comments (' + totalCommentsLatest.total + ')'); await expect(await commentsPage.getMessage(0)).toEqual(totalCommentsLatest.data[0].message); await expect(await commentsPage.getMessage(1)).toEqual(totalCommentsLatest.data[1].message); @@ -117,7 +117,7 @@ describe('Comment component for Processes', () => { await expect(await commentsPage.getTime(1)).toMatch(/(ago|few)/); await navigationBarPage.clickLogoutButton(); - await loginPage.login(secondUser.email, secondUser.password); + await loginPage.login(secondUser.username, secondUser.password); await apiService.getInstance().activiti.taskApi.addTaskComment(thirdTaskComment, newTaskId); @@ -133,7 +133,7 @@ describe('Comment component for Processes', () => { await commentsPage.checkUserIconIsDisplayed(); await commentsPage.checkUserIconIsDisplayed(); - await expect(await commentsPage.getTotalNumberOfComments()).toEqual('Comments (' + totalComments.total + ')'); + await commentsPage.getTotalNumberOfComments('Comments (' + totalComments.total + ')'); await expect(await commentsPage.getMessage(0)).toEqual(totalComments.data[0].message); await expect(await commentsPage.getMessage(1)).toEqual(totalComments.data[1].message); diff --git a/e2e/process-services/custom-process-filters-sorting.e2e.ts b/e2e/process-services/custom-process-filters-sorting.e2e.ts index bf141584d8..a23c40a73d 100644 --- a/e2e/process-services/custom-process-filters-sorting.e2e.ts +++ b/e2e/process-services/custom-process-filters-sorting.e2e.ts @@ -56,12 +56,12 @@ describe('Sorting for process filters', () => { user = await usersActions.createUser(); tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterEach(async () => { diff --git a/e2e/process-services/custom-process-filters.e2e.ts b/e2e/process-services/custom-process-filters.e2e.ts index 1ce178f4a5..2fb205cbb6 100644 --- a/e2e/process-services/custom-process-filters.e2e.ts +++ b/e2e/process-services/custom-process-filters.e2e.ts @@ -52,9 +52,9 @@ describe('New Process Filters', () => { tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/custom-tasks-filters.e2e.ts b/e2e/process-services/custom-tasks-filters.e2e.ts index f114feb476..1e2f3287d5 100644 --- a/e2e/process-services/custom-tasks-filters.e2e.ts +++ b/e2e/process-services/custom-tasks-filters.e2e.ts @@ -85,7 +85,7 @@ describe('Start Task - Custom App', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(app.file_path); @@ -117,7 +117,7 @@ describe('Start Task - Custom App', () => { 'dueDate': currentDateStandardFormat })); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); describe('', () => { diff --git a/e2e/process-services/dynamic-table-date-picker.e2e.ts b/e2e/process-services/dynamic-table-date-picker.e2e.ts index 5b32f08feb..76d8e70bdd 100644 --- a/e2e/process-services/dynamic-table-date-picker.e2e.ts +++ b/e2e/process-services/dynamic-table-date-picker.e2e.ts @@ -68,15 +68,15 @@ describe('Dynamic Table', () => { const rowPosition = 0; beforeAll(async () => { - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await apiService.getInstance().activiti.modelsApi.deleteModel(appId); await navigationBarPage.clickLogoutButton(); }); @@ -130,16 +130,16 @@ describe('Dynamic Table', () => { const dropdown = widget.dropdown(); beforeAll(async () => { - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await apiService.getInstance().activiti.modelsApi.deleteModel(appId); }); diff --git a/e2e/process-services/empty-process-list-component.e2e.ts b/e2e/process-services/empty-process-list-component.e2e.ts index b07ad81cc4..fa91237674 100644 --- a/e2e/process-services/empty-process-list-component.e2e.ts +++ b/e2e/process-services/empty-process-list-component.e2e.ts @@ -48,12 +48,12 @@ describe('Empty Process List Test', () => { user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationsService.importPublishDeployApp(appWithProcess.file_path); await applicationsService.importPublishDeployApp(simpleAppWithUserForm.file_path); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); it('[C260494] Should add process to list when a process is created', async () => { diff --git a/e2e/process-services/form-component.e2e.ts b/e2e/process-services/form-component.e2e.ts index ccccae6d4e..08cf25ff18 100644 --- a/e2e/process-services/form-component.e2e.ts +++ b/e2e/process-services/form-component.e2e.ts @@ -53,9 +53,9 @@ describe('Form Component', () => { tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await navigationBarPage.navigateToProcessServicesFormPage(); }); diff --git a/e2e/process-services/form-people-widget.e2e.ts b/e2e/process-services/form-people-widget.e2e.ts index 81696ab0c8..f62db1a898 100644 --- a/e2e/process-services/form-people-widget.e2e.ts +++ b/e2e/process-services/form-people-widget.e2e.ts @@ -53,13 +53,13 @@ describe('Form widgets - People ', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); const applicationsService = new ApplicationsUtil(apiService); appModel = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll(async () => { diff --git a/e2e/process-services/form-widgets-component.e2e.ts b/e2e/process-services/form-widgets-component.e2e.ts index 8bc453958c..eb75fce0e2 100644 --- a/e2e/process-services/form-widgets-component.e2e.ts +++ b/e2e/process-services/form-widgets-component.e2e.ts @@ -55,11 +55,11 @@ describe('Form widgets', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModelWidget = await applicationsService.importPublishDeployApp(appWidget.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); await (await new NavigationBarPage().navigateToProcessServicesPage()).goToApp(appModelWidget.name); @@ -203,12 +203,12 @@ describe('Form widgets', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(app.file_path); const processUtil = new ProcessUtil(apiService); process = await processUtil.startProcessOfApp(appModel.name); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/info-drawer.e2e.ts b/e2e/process-services/info-drawer.e2e.ts index 9be9853d9a..757ee259b6 100644 --- a/e2e/process-services/info-drawer.e2e.ts +++ b/e2e/process-services/info-drawer.e2e.ts @@ -82,10 +82,10 @@ describe('Info Drawer', () => { processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId })); processUserModelFullName = processUserModel.firstName + ' ' + processUserModel.lastName; - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appCreated = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll(async () => { diff --git a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts b/e2e/process-services/pagination-processlist-adding-processes.e2e.ts index a35f8c6076..7bce616521 100644 --- a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts +++ b/e2e/process-services/pagination-processlist-adding-processes.e2e.ts @@ -55,7 +55,7 @@ describe('Process List - Pagination when adding processes', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); resultApp = await applicationsService.importPublishDeployApp(app.file_path); @@ -63,7 +63,7 @@ describe('Process List - Pagination when adding processes', () => { await processUtil.startProcessOfApp(resultApp.name); } - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); await (await (await new NavigationBarPage().navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton(); }); diff --git a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts b/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts index 4b800cfd31..c2bd6ed01d 100644 --- a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts +++ b/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts @@ -57,7 +57,7 @@ describe('Items per page set to 15 and adding of tasks', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); resultApp = await applicationsService.importPublishDeployApp(app.file_path); @@ -66,7 +66,7 @@ describe('Items per page set to 15 and adding of tasks', () => { await processUtil.startProcessOfApp(resultApp.name); } - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); it('[C260306] Items per page set to 15 and adding of tasks', async () => { diff --git a/e2e/process-services/people-component.e2e.ts b/e2e/process-services/people-component.e2e.ts index e0d4bf9e26..423d4894ba 100644 --- a/e2e/process-services/people-component.e2e.ts +++ b/e2e/process-services/people-component.e2e.ts @@ -52,7 +52,7 @@ describe('People component', () => { const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location); const file = fs.createReadStream(pathFile); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await apiService.getInstance().activiti.appsApi.importAppDefinition(file); @@ -64,7 +64,7 @@ describe('People component', () => { }); beforeEach(async () => { - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); await navigationBarPage.navigateToProcessServicesPage(); await (await processServices.goToTaskApp()).clickTasksButton(); @@ -159,7 +159,7 @@ describe('People component', () => { .toEqual(assigneeUserModel.email); await navigationBarPage.clickLogoutButton(); - await loginPage.login(assigneeUserModel.email, assigneeUserModel.password); + await loginPage.login(assigneeUserModel.username, assigneeUserModel.password); await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton(); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); await taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]); @@ -218,7 +218,7 @@ describe('People component', () => { .toEqual(assigneeUserModel.email); await navigationBarPage.clickLogoutButton(); - await loginPage.login(assigneeUserModel.email, assigneeUserModel.password); + await loginPage.login(assigneeUserModel.username, assigneeUserModel.password); await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton(); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); await taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]); diff --git a/e2e/process-services/process-attachment-list-action-menu.e2e.ts b/e2e/process-services/process-attachment-list-action-menu.e2e.ts index fc9fe55b34..c3602b2d6a 100644 --- a/e2e/process-services/process-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/process-attachment-list-action-menu.e2e.ts @@ -69,7 +69,7 @@ describe('Attachment list action menu for processes', () => { tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; @@ -81,7 +81,7 @@ describe('Attachment list action menu for processes', () => { await processUtil.startProcessOfApp(importedApp.name, processName.emptyList); await processUtil.startProcessOfApp(importedApp.name, processName.dragDrop); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/process-filters-component.e2e.ts b/e2e/process-services/process-filters-component.e2e.ts index fb6b2c8c84..edd6cfdd95 100644 --- a/e2e/process-services/process-filters-component.e2e.ts +++ b/e2e/process-services/process-filters-component.e2e.ts @@ -71,9 +71,9 @@ describe('Process Filters Test', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); appModel = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); beforeEach(async () => { diff --git a/e2e/process-services/process-instance-details.e2e.ts b/e2e/process-services/process-instance-details.e2e.ts index ab720595ae..43b41c3420 100644 --- a/e2e/process-services/process-instance-details.e2e.ts +++ b/e2e/process-services/process-instance-details.e2e.ts @@ -47,12 +47,12 @@ describe('Process Instance Details', () => { user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); appModel = await applicationsService.importPublishDeployApp(app.file_path); const processModel = await new ProcessUtil(apiService).startProcessOfApp(appModel.name); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); diff --git a/e2e/process-services/process-list-component.e2e.ts b/e2e/process-services/process-list-component.e2e.ts index ecd652efa4..baec4f0b32 100644 --- a/e2e/process-services/process-list-component.e2e.ts +++ b/e2e/process-services/process-list-component.e2e.ts @@ -62,7 +62,7 @@ describe('Process List Test', () => { user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); appDateModel = await applicationsUtil.importPublishDeployApp(appWithDateField.file_path); @@ -84,7 +84,7 @@ describe('Process List Test', () => { await apiService.getInstance().activiti.taskApi.completeTaskForm(procWithDateTaskId.id, { values: { label: null } }); await apiService.getInstance().activiti.taskFormsApi.completeTaskForm(procWithUserWidgetTaskId.id, { values: { label: null } }); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/processlist-pagination.e2e.ts b/e2e/process-services/processlist-pagination.e2e.ts index 005380ef46..c207eea563 100644 --- a/e2e/process-services/processlist-pagination.e2e.ts +++ b/e2e/process-services/processlist-pagination.e2e.ts @@ -67,16 +67,16 @@ describe('Process List - Pagination', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); deployedTestApp = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); describe('With processes Pagination', () => { beforeAll(async () => { - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); for (let i = 0; i < nrOfProcesses; i++) { await new ProcessUtil(apiService).startProcessOfApp(deployedTestApp.name); diff --git a/e2e/process-services/sort-tasklist-pagination.e2e.ts b/e2e/process-services/sort-tasklist-pagination.e2e.ts index 6437b2fda7..3e86340d56 100644 --- a/e2e/process-services/sort-tasklist-pagination.e2e.ts +++ b/e2e/process-services/sort-tasklist-pagination.e2e.ts @@ -60,7 +60,7 @@ describe('Task List Pagination - Sorting', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await applicationsService.importPublishDeployApp(app.file_path); @@ -68,7 +68,7 @@ describe('Task List Pagination - Sorting', () => { await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskNames[i] })); } - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); it('[C260308] Should be possible to sort tasks by name', async () => { diff --git a/e2e/process-services/standalone-task.e2e.ts b/e2e/process-services/standalone-task.e2e.ts index 363927bea8..9d76c87b4a 100644 --- a/e2e/process-services/standalone-task.e2e.ts +++ b/e2e/process-services/standalone-task.e2e.ts @@ -49,11 +49,11 @@ describe('Start Task - Task App', () => { const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location); const file = fs.createReadStream(pathFile); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await apiService.getInstance().activiti.appsApi.importAppDefinition(file); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/start-process-component.e2e.ts b/e2e/process-services/start-process-component.e2e.ts index e680fafc90..207549a431 100644 --- a/e2e/process-services/start-process-component.e2e.ts +++ b/e2e/process-services/start-process-component.e2e.ts @@ -89,7 +89,7 @@ describe('Start Process Component', () => { procUserModel = await usersActions.createUser(); secondProcUserModel = await usersActions.createUser(new UserModel({ tenantId: procUserModel.tenantId })); - await apiServiceUserTwo.login(secondProcUserModel.email, secondProcUserModel.password); + await apiServiceUserTwo.login(secondProcUserModel.username, secondProcUserModel.password); const applicationsService = new ApplicationsUtil(apiServiceUserTwo); appCreated = await applicationsService.importPublishDeployApp(app.file_path); @@ -106,7 +106,7 @@ describe('Start Process Component', () => { describe(' Once logged with user without apps', () => { beforeEach(async () => { - await loginPage.login(procUserModel.email, procUserModel.password); + await loginPage.login(procUserModel.username, procUserModel.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); }); @@ -127,7 +127,7 @@ describe('Start Process Component', () => { describe(' Once logged with user with app', () => { beforeEach(async () => { - await loginPage.login(secondProcUserModel.email, secondProcUserModel.password); + await loginPage.login(secondProcUserModel.username, secondProcUserModel.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); }); @@ -493,7 +493,7 @@ describe('Start Process Component', () => { const alfrescoJsBPMAdminUser = new ApiService({ hostBpm: browser.params.testConfig.appConfig.bpmHost }); - await alfrescoJsBPMAdminUser.login(processUserModel.email, processUserModel.password); + await alfrescoJsBPMAdminUser.login(processUserModel.username, processUserModel.password); const applicationsService = new ApplicationsUtil(alfrescoJsBPMAdminUser); @@ -505,7 +505,7 @@ describe('Start Process Component', () => { await LocalStorageUtil.setStorageItem('providers', 'ALL'); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); await contentServicesPage.goToDocumentList(); await contentServicesPage.uploadFile(imageUploaded.location); diff --git a/e2e/process-services/start-task-custom-app.e2e.ts b/e2e/process-services/start-task-custom-app.e2e.ts index 816584f299..a4880243c9 100644 --- a/e2e/process-services/start-task-custom-app.e2e.ts +++ b/e2e/process-services/start-task-custom-app.e2e.ts @@ -57,11 +57,11 @@ describe('Start Task - Custom App', () => { assigneeUserModel = await usersActions.createUser(); processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId })); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); it('[C263942] Should be possible to modify a task', async () => { diff --git a/e2e/process-services/start-task-task-app.e2e.ts b/e2e/process-services/start-task-task-app.e2e.ts index 0e0b96db4d..5c62e6a8d3 100644 --- a/e2e/process-services/start-task-task-app.e2e.ts +++ b/e2e/process-services/start-task-task-app.e2e.ts @@ -65,13 +65,13 @@ describe('Start Task - Task App', () => { const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location); const file = fs.createReadStream(pathFile); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await apiService.getInstance().activiti.appsApi.importAppDefinition(file); await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: showHeaderTask })); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/stencil.e2e.ts b/e2e/process-services/stencil.e2e.ts index b1c13534ef..7a32bf05b2 100644 --- a/e2e/process-services/stencil.e2e.ts +++ b/e2e/process-services/stencil.e2e.ts @@ -56,10 +56,10 @@ describe('Stencil', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/task-assignee.e2e.ts b/e2e/process-services/task-assignee.e2e.ts index b6a4ba4082..a9a33fa30b 100644 --- a/e2e/process-services/task-assignee.e2e.ts +++ b/e2e/process-services/task-assignee.e2e.ts @@ -73,10 +73,10 @@ describe('Task Assignee', () => { } catch (e) { } - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { @@ -157,7 +157,7 @@ describe('Task Assignee', () => { } catch (e) { } - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const appModel = await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processNames[1]); @@ -169,7 +169,7 @@ describe('Task Assignee', () => { }); it('[C216430] Start Task - Claim and Requeue a task', async () => { - await loginPage.login(candidate1.email, candidate1.password); + await loginPage.login(candidate1.username, candidate1.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp('Task App'); @@ -216,7 +216,7 @@ describe('Task Assignee', () => { await taskPage.tasksListPage().checkContentIsNotDisplayed(app.userTasks.candidateTask); await navigationBarPage.clickLogoutButton(); - await loginPage.login(candidate2.email, candidate2.password); + await loginPage.login(candidate2.username, candidate2.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp('Task App'); @@ -228,7 +228,7 @@ describe('Task Assignee', () => { await taskPage.tasksListPage().checkContentIsNotDisplayed(app.userTasks.candidateTask); await navigationBarPage.clickLogoutButton(); - await loginPage.login(candidate1.email, candidate1.password); + await loginPage.login(candidate1.username, candidate1.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp('Task App'); @@ -257,7 +257,7 @@ describe('Task Assignee', () => { await taskPage.taskDetails().checkClaimEnabled(); await navigationBarPage.clickLogoutButton(); - await loginPage.login(candidate2.email, candidate2.password); + await loginPage.login(candidate2.username, candidate2.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp('Task App'); diff --git a/e2e/process-services/task-attachment-list-action-menu.e2e.ts b/e2e/process-services/task-attachment-list-action-menu.e2e.ts index 7335621106..98687bec38 100644 --- a/e2e/process-services/task-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/task-attachment-list-action-menu.e2e.ts @@ -65,12 +65,12 @@ describe('Attachment list action menu for tasks', () => { const user = await usersActions.createUser(); tenantId = user.tenantId; - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const { id } = await applicationsService.importPublishDeployApp(app.file_path); appId = id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/task-audit.e2e.ts b/e2e/process-services/task-audit.e2e.ts index ed0cad0082..062ea62c46 100644 --- a/e2e/process-services/task-audit.e2e.ts +++ b/e2e/process-services/task-audit.e2e.ts @@ -44,12 +44,12 @@ describe('Task Audit', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskTaskApp })); const applicationsService = new ApplicationsUtil(apiService); await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll( async () => { diff --git a/e2e/process-services/task-details-form.e2e.ts b/e2e/process-services/task-details-form.e2e.ts index 7c157c3d1c..38498f2b8b 100644 --- a/e2e/process-services/task-details-form.e2e.ts +++ b/e2e/process-services/task-details-form.e2e.ts @@ -73,7 +73,7 @@ describe('Task Details - Form', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); attachedForm = await apiService.getInstance().activiti.modelsApi.createModel(attachedFormModel); newForm = await apiService.getInstance().activiti.modelsApi.createModel(newFormModel); @@ -84,7 +84,7 @@ describe('Task Details - Form', () => { await apiService.getInstance().activiti.taskApi.attachForm(otherEmptyTask.id, { 'formId': otherAttachedForm.id }); otherTask = await apiService.getInstance().activiti.taskApi.getTask(otherEmptyTask.id); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/task-details-no-form.e2e.ts b/e2e/process-services/task-details-no-form.e2e.ts index 8d030c07fa..65d870f501 100644 --- a/e2e/process-services/task-details-no-form.e2e.ts +++ b/e2e/process-services/task-details-no-form.e2e.ts @@ -40,11 +40,11 @@ describe('Task Details - No form', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); const applicationsService = new ApplicationsUtil(apiService); importedApp = await applicationsService.importPublishDeployApp(app.file_path); await new ProcessUtil(apiService).startProcessOfApp(importedApp.name); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll( async () => { diff --git a/e2e/process-services/task-details.e2e.ts b/e2e/process-services/task-details.e2e.ts index 7f68516703..cd9b68e5c7 100644 --- a/e2e/process-services/task-details.e2e.ts +++ b/e2e/process-services/task-details.e2e.ts @@ -62,10 +62,10 @@ describe('Task Details component', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); const applicationsService = new ApplicationsUtil(apiService); appModel = await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll(async () => { diff --git a/e2e/process-services/task-filters-component.e2e.ts b/e2e/process-services/task-filters-component.e2e.ts index 2b8ef6206d..58915562b3 100644 --- a/e2e/process-services/task-filters-component.e2e.ts +++ b/e2e/process-services/task-filters-component.e2e.ts @@ -50,12 +50,12 @@ describe('Task', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const { id } = await applicationsService.importPublishDeployApp(app.file_path); appId = id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp(app.title); @@ -189,13 +189,13 @@ describe('Task', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const importedApp = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/task-filters-sorting.e2e.ts b/e2e/process-services/task-filters-sorting.e2e.ts index 833faa79d8..06ff434303 100644 --- a/e2e/process-services/task-filters-sorting.e2e.ts +++ b/e2e/process-services/task-filters-sorting.e2e.ts @@ -55,13 +55,13 @@ describe('Task Filters Sorting', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); const applicationsService = new ApplicationsUtil(apiService); const importedApp = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id; - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); await navigationBarPage.navigateToProcessServicesPage(); await processServicesPage.checkApsContainer(); await processServicesPage.goToApp(app.title); diff --git a/e2e/process-services/task-list-pagination.e2e.ts b/e2e/process-services/task-list-pagination.e2e.ts index 04179bbf8c..50c1992206 100644 --- a/e2e/process-services/task-list-pagination.e2e.ts +++ b/e2e/process-services/task-list-pagination.e2e.ts @@ -61,7 +61,7 @@ describe('Task List Pagination', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); const applicationsService = new ApplicationsUtil(apiService); const resultApp = await applicationsService.importPublishDeployApp(app.file_path); @@ -69,7 +69,7 @@ describe('Task List Pagination', () => { await new ProcessUtil(apiService).startProcessOfApp(resultApp.name); } - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll( async () => { diff --git a/e2e/process-services/widgets/amount-widget.e2e.ts b/e2e/process-services/widgets/amount-widget.e2e.ts index ce92b94a66..0190407ed6 100644 --- a/e2e/process-services/widgets/amount-widget.e2e.ts +++ b/e2e/process-services/widgets/amount-widget.e2e.ts @@ -42,7 +42,7 @@ describe('Amount Widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -50,7 +50,7 @@ describe('Amount Widget', () => { return currentApp.modelId === appModel.id; }); process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async() => { diff --git a/e2e/process-services/widgets/attach-file-widget.e2e.ts b/e2e/process-services/widgets/attach-file-widget.e2e.ts index 79bd25a985..4094f7495a 100644 --- a/e2e/process-services/widgets/attach-file-widget.e2e.ts +++ b/e2e/process-services/widgets/attach-file-widget.e2e.ts @@ -58,10 +58,10 @@ describe('Attach widget - File', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); await applicationsService.importPublishDeployApp(app.file_path); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/attach-folder-widget.e2e.ts b/e2e/process-services/widgets/attach-folder-widget.e2e.ts index 1f78fcdaea..a305b0bec7 100644 --- a/e2e/process-services/widgets/attach-folder-widget.e2e.ts +++ b/e2e/process-services/widgets/attach-folder-widget.e2e.ts @@ -50,7 +50,7 @@ describe('Attach Folder widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -58,7 +58,7 @@ describe('Attach Folder widget', () => { return currentApp.modelId === appModel.id; }); process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/checkbox-widget.e2e.ts b/e2e/process-services/widgets/checkbox-widget.e2e.ts index 703b78994d..a79bdde48b 100644 --- a/e2e/process-services/widgets/checkbox-widget.e2e.ts +++ b/e2e/process-services/widgets/checkbox-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Checkbox Widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Checkbox Widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/date-time-widget.e2e.ts b/e2e/process-services/widgets/date-time-widget.e2e.ts index 78f2bec178..573ae498da 100644 --- a/e2e/process-services/widgets/date-time-widget.e2e.ts +++ b/e2e/process-services/widgets/date-time-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Date and time widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Date and time widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/date-widget.e2e.ts b/e2e/process-services/widgets/date-widget.e2e.ts index 46f8030222..beb4c0309a 100644 --- a/e2e/process-services/widgets/date-widget.e2e.ts +++ b/e2e/process-services/widgets/date-widget.e2e.ts @@ -53,7 +53,7 @@ describe('Date widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -61,7 +61,7 @@ describe('Date widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll(async () => { diff --git a/e2e/process-services/widgets/document-template-widget.e2e.ts b/e2e/process-services/widgets/document-template-widget.e2e.ts index 59177458c5..3aa865cd59 100644 --- a/e2e/process-services/widgets/document-template-widget.e2e.ts +++ b/e2e/process-services/widgets/document-template-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Document Template widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp( app.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Document Template widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/dropdown-widget.e2e.ts b/e2e/process-services/widgets/dropdown-widget.e2e.ts index 33c8dca12b..afd3a1f9eb 100644 --- a/e2e/process-services/widgets/dropdown-widget.e2e.ts +++ b/e2e/process-services/widgets/dropdown-widget.e2e.ts @@ -48,7 +48,7 @@ describe('Dropdown widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -56,7 +56,7 @@ describe('Dropdown widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts index b4c5d2b2a1..dae1bdaacb 100644 --- a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts +++ b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts @@ -52,13 +52,13 @@ describe('Dynamic Table widget ', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { @@ -101,13 +101,13 @@ describe('Dynamic Table widget ', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); afterAll(async () => { @@ -156,7 +156,7 @@ describe('Dynamic Table widget ', () => { await apiService.loginWithProfile('admin'); processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); const application = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -171,7 +171,7 @@ describe('Dynamic Table widget ', () => { }); beforeEach(async () => { - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); const urlToNavigateTo = `${browser.baseUrl}/activiti/apps/${deployedApp.id}/tasks`; await BrowserActions.getUrl(urlToNavigateTo); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); diff --git a/e2e/process-services/widgets/header-widget.e2e.ts b/e2e/process-services/widgets/header-widget.e2e.ts index ad858eef8f..a52c300617 100644 --- a/e2e/process-services/widgets/header-widget.e2e.ts +++ b/e2e/process-services/widgets/header-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Header widget', async () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Header widget', async () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/hyperlink-widget.e2e.ts b/e2e/process-services/widgets/hyperlink-widget.e2e.ts index 6c6e68d7a8..6099fa1094 100644 --- a/e2e/process-services/widgets/hyperlink-widget.e2e.ts +++ b/e2e/process-services/widgets/hyperlink-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Hyperlink widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Hyperlink widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/multi-line-widget.e2e.ts b/e2e/process-services/widgets/multi-line-widget.e2e.ts index f618e33c3f..2867db92c8 100644 --- a/e2e/process-services/widgets/multi-line-widget.e2e.ts +++ b/e2e/process-services/widgets/multi-line-widget.e2e.ts @@ -48,7 +48,7 @@ describe('Multi-line Widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -56,7 +56,7 @@ describe('Multi-line Widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/number-widget.e2e.ts b/e2e/process-services/widgets/number-widget.e2e.ts index 6f4fba9ce4..2f68aa2b9b 100644 --- a/e2e/process-services/widgets/number-widget.e2e.ts +++ b/e2e/process-services/widgets/number-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Number widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Number widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/people-group-widget.e2e.ts b/e2e/process-services/widgets/people-group-widget.e2e.ts index f52b465e60..0a2a6d90e6 100644 --- a/e2e/process-services/widgets/people-group-widget.e2e.ts +++ b/e2e/process-services/widgets/people-group-widget.e2e.ts @@ -41,11 +41,11 @@ describe('People and Group widget', () => { user = await usersActions.createUser(); await createGroupAndUsers(user.tenantId); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/people-widget.e2e.ts b/e2e/process-services/widgets/people-widget.e2e.ts index d51a34c5c9..855bb6b781 100644 --- a/e2e/process-services/widgets/people-widget.e2e.ts +++ b/e2e/process-services/widgets/people-widget.e2e.ts @@ -49,7 +49,7 @@ describe('People widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('People widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts index 6837069379..221a5a6aba 100644 --- a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts +++ b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Radio Buttons Widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -58,7 +58,7 @@ describe('Radio Buttons Widget', () => { }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/text-widget.e2e.ts b/e2e/process-services/widgets/text-widget.e2e.ts index c3f5f73690..cfa54eaadd 100644 --- a/e2e/process-services/widgets/text-widget.e2e.ts +++ b/e2e/process-services/widgets/text-widget.e2e.ts @@ -49,7 +49,7 @@ describe('Text widget', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -57,7 +57,7 @@ describe('Text widget', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/process-services/widgets/typeahead-widget.e2e.ts b/e2e/process-services/widgets/typeahead-widget.e2e.ts index 0af8a61b7b..552bb52594 100644 --- a/e2e/process-services/widgets/typeahead-widget.e2e.ts +++ b/e2e/process-services/widgets/typeahead-widget.e2e.ts @@ -40,9 +40,9 @@ describe('Typeahead widget', () => { await apiService.loginWithProfile('admin'); user = await usersActions.createUser(); - await apiService.login(user.email, user.password); + await apiService.login(user.username, user.password); await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); - await loginPage.login(user.email, user.password); + await loginPage.login(user.username, user.password); }); afterAll(async () => { diff --git a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts index 075dc949fd..ef6591eb61 100644 --- a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts +++ b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts @@ -71,7 +71,7 @@ describe('Process-Services - Visibility conditions', () => { processUserModel = await usersActions.createUser(); - await apiService.login(processUserModel.email, processUserModel.password); + await apiService.login(processUserModel.username, processUserModel.password); appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path); const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions(); @@ -79,7 +79,7 @@ describe('Process-Services - Visibility conditions', () => { return currentApp.modelId === appModel.id; }); process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName); - await loginPage.login(processUserModel.email, processUserModel.password); + await loginPage.login(processUserModel.username, processUserModel.password); }); beforeEach(async () => { diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js index ef81569714..119c04bc77 100644 --- a/e2e/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -144,7 +144,7 @@ exports.config = { directConnect: !SELENIUM_SERVER, - baseUrl: HOST, + baseUrl: HOST + '/#', params: { testConfig: testConfig, @@ -201,7 +201,7 @@ exports.config = { const outputDirectory = process.env.SMART_RUNNER_DIRECTORY; console.log(`SmartRunner's repoHash: "${repoHash}"`); console.log(`SmartRunner's outputDirectory: "${outputDirectory}"`); - SmartRunner.apply({ outputDirectory, repoHash }); + SmartRunner.apply({outputDirectory, repoHash}); } jasmine.DEFAULT_TIMEOUT_INTERVAL = TIMEOUT; @@ -238,7 +238,7 @@ exports.config = { await browser.driver.executeScript(disableCSSAnimation); // @ts-ignore - await browser.get(`${HOST}/settings`); + await browser.get(`${HOST}/#/settings`); await LocalStorageUtil.clearStorage(); // @ts-ignore await LocalStorageUtil.setStorageItem('ecmHost', browser.params.testConfig.appConfig.ecmHost); @@ -246,7 +246,7 @@ exports.config = { await LocalStorageUtil.setStorageItem('bpmHost', browser.params.testConfig.appConfig.bpmHost); // @ts-ignore await LocalStorageUtil.setStorageItem('providers', browser.params.testConfig.appConfig.provider); - await LocalStorageUtil.setStorageItem('baseShareUrl', HOST); + await LocalStorageUtil.setStorageItem('baseShareUrl', `${HOST}/#`); // @ts-ignore await LocalStorageUtil.setStorageItem('authType', browser.params.testConfig.appConfig.authType); diff --git a/e2e/search/components/search-check-list.e2e.ts b/e2e/search/components/search-check-list.e2e.ts index e785d8448d..455cfae815 100644 --- a/e2e/search/components/search-check-list.e2e.ts +++ b/e2e/search/components/search-check-list.e2e.ts @@ -64,7 +64,7 @@ describe('Search Checklist Component', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); createdFolder = await apiService.getInstance().nodes.addNode('-my-', { name: nodeNames.folder, @@ -77,7 +77,7 @@ describe('Search Checklist Component', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); beforeEach(async () => { diff --git a/e2e/search/components/search-number-range.e2e.ts b/e2e/search/components/search-number-range.e2e.ts index 205fae3107..94f4bb5961 100644 --- a/e2e/search/components/search-number-range.e2e.ts +++ b/e2e/search/components/search-number-range.e2e.ts @@ -66,13 +66,13 @@ describe('Search Number Range Filter', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); file2Bytes = await uploadActions.uploadFile(file2BytesModel.location, file2BytesModel.name, '-my-'); file0Bytes = await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, '-my-'); await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); @@ -81,7 +81,7 @@ describe('Search Number Range Filter', () => { }); afterAll(async () => { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.deleteFileOrFolder(file2Bytes.entry.id); await uploadActions.deleteFileOrFolder(file0Bytes.entry.id); diff --git a/e2e/search/components/search-radio.e2e.ts b/e2e/search/components/search-radio.e2e.ts index 6ebe8dd4ad..316bb6e00c 100644 --- a/e2e/search/components/search-radio.e2e.ts +++ b/e2e/search/components/search-radio.e2e.ts @@ -66,7 +66,7 @@ describe('Search Radio Component', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); createdFolder = await apiService.getInstance().nodes.addNode('-my-', { name: nodeNames.folder, @@ -79,7 +79,7 @@ describe('Search Radio Component', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await BrowserActions.getUrl(browser.baseUrl + '/search;q=' + randomName); }); @@ -274,7 +274,7 @@ describe('Search Radio Component', () => { beforeAll(async () => { await navigationBarPage.clickLogoutButton(); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); it('[C277033] Should be able to add a new option', async () => { diff --git a/e2e/search/components/search-slider.e2e.ts b/e2e/search/components/search-slider.e2e.ts index 5b3fc9ec21..046bbd5cdb 100644 --- a/e2e/search/components/search-slider.e2e.ts +++ b/e2e/search/components/search-slider.e2e.ts @@ -60,12 +60,12 @@ describe('Search Slider Filter', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); file2Bytes = await uploadActions.uploadFile(file2BytesModel.location, file2BytesModel.name, '-my-'); await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); @@ -76,7 +76,7 @@ describe('Search Slider Filter', () => { afterAll(async () => { try { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.deleteFileOrFolder(file2Bytes.entry.id); } catch (error) { } diff --git a/e2e/search/components/search-sorting-picker.e2e.ts b/e2e/search/components/search-sorting-picker.e2e.ts index b499f21b9f..01ebd8faf2 100644 --- a/e2e/search/components/search-sorting-picker.e2e.ts +++ b/e2e/search/components/search-sorting-picker.e2e.ts @@ -66,13 +66,13 @@ describe('Search Sorting Picker', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); pngA = await uploadActions.uploadFile(pngAModel.location, pngAModel.name, '-my-'); pngD = await uploadActions.uploadFile(pngDModel.location, pngDModel.name, '-my-'); await browser.sleep(12000); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/search/components/search-text.e2e.ts b/e2e/search/components/search-text.e2e.ts index 7416a739bf..08af6215d2 100644 --- a/e2e/search/components/search-text.e2e.ts +++ b/e2e/search/components/search-text.e2e.ts @@ -54,7 +54,7 @@ describe('Search component - Text widget', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await apiService.getInstance().nodes.addNode('-my-', { 'name': newFolderModel.name, @@ -67,7 +67,7 @@ describe('Search component - Text widget', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/search/search-component.e2e.ts b/e2e/search/search-component.e2e.ts index 9d495048cd..a99bf23f73 100644 --- a/e2e/search/search-component.e2e.ts +++ b/e2e/search/search-component.e2e.ts @@ -88,7 +88,7 @@ describe('Search component - Search Bar', () => { beforeAll(async () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); const firstFileUploaded = await uploadActions.uploadFile(firstFileModel.location, firstFileModel.name, '-my-'); Object.assign(firstFileModel, firstFileUploaded.entry); @@ -110,7 +110,7 @@ describe('Search component - Search Bar', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); // wait search index previous file/folder uploaded - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/search/search-filters.e2e.ts b/e2e/search/search-filters.e2e.ts index b291f38379..69cb937a13 100644 --- a/e2e/search/search-filters.e2e.ts +++ b/e2e/search/search-filters.e2e.ts @@ -93,7 +93,7 @@ describe('Search Filters', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); fileUploaded = await uploadActions.uploadFile(fileModel.location, fileModel.name, '-my-'); fileTypePng = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); @@ -101,7 +101,7 @@ describe('Search Filters', () => { fileTypeJpg = await uploadActions.uploadFile(jpgFileModel.location, jpgFileModel.name, '-my-'); fileTypeTxt2 = await uploadActions.uploadFile(txtFileModel2.location, txtFileModel2.name, '-my-'); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await browser.sleep(browser.params.testConfig.timeouts.index_search); // wait search index previous file/folder uploaded @@ -109,7 +109,7 @@ describe('Search Filters', () => { }); afterAll(async () => { - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.deleteFileOrFolder(fileUploaded.entry.id); await uploadActions.deleteFileOrFolder(fileTypePng.entry.id); diff --git a/e2e/search/search-multiselect.e2e.ts b/e2e/search/search-multiselect.e2e.ts index 86709805e9..17c005cd44 100644 --- a/e2e/search/search-multiselect.e2e.ts +++ b/e2e/search/search-multiselect.e2e.ts @@ -56,7 +56,7 @@ describe('Search Component - Multi-Select Facet', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); site = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(8), @@ -73,7 +73,7 @@ describe('Search Component - Multi-Select Facet', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); @@ -99,8 +99,6 @@ describe('Search Component - Multi-Select Facet', () => { }); it('[C280054] Should be able to select multiple items from a search facet filter', async () => { - await loginPage.login(acsUser.email, acsUser.password); - await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); await searchBarPage.enterTextAndPressEnter(`${randomName}`); @@ -149,7 +147,7 @@ describe('Search Component - Multi-Select Facet', () => { await usersActions.createUser(userUploadingTxt); await usersActions.createUser(userUploadingImg); - await apiService.login(userUploadingTxt.email, userUploadingTxt.password); + await apiService.login(userUploadingTxt.username, userUploadingTxt.password); site = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(8), @@ -157,19 +155,19 @@ describe('Search Component - Multi-Select Facet', () => { }); await apiService.getInstance().core.sitesApi.addSiteMember(site.entry.id, { - id: userUploadingImg.email, + id: userUploadingImg.username, role: CONSTANTS.CS_USER_ROLES.MANAGER }); txtFile = await uploadActions.uploadFile(txtFileInfo.location, txtFileInfo.name, site.entry.guid); - await apiService.login(userUploadingImg.email, userUploadingImg.password); + await apiService.login(userUploadingImg.username, userUploadingImg.password); jpgFile = await uploadActions.uploadFile(jpgFileInfo.location, jpgFileInfo.name, site.entry.guid); await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(userUploadingImg.email, userUploadingImg.password); + await loginPage.login(userUploadingImg.username, userUploadingImg.password); await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); @@ -209,7 +207,7 @@ describe('Search Component - Multi-Select Facet', () => { await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); site = await apiService.getInstance().core.sitesApi.createSite({ title: StringUtil.generateRandomString(8), @@ -219,7 +217,7 @@ describe('Search Component - Multi-Select Facet', () => { txtFile = await uploadActions.uploadFile(txtFileInfo.location, txtFileInfo.name, '-my-'); await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); @@ -235,8 +233,6 @@ describe('Search Component - Multi-Select Facet', () => { }); it('[C280058] Should update filter facets items number when another filter facet item is selected', async () => { - await loginPage.login(acsUser.email, acsUser.password); - await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.clickOnSearchIcon(); await searchBarPage.enterTextAndPressEnter(`*${randomName}*`); diff --git a/e2e/search/search-page.e2e.ts b/e2e/search/search-page.e2e.ts index 94093d5df6..f4952c5327 100644 --- a/e2e/search/search-page.e2e.ts +++ b/e2e/search/search-page.e2e.ts @@ -73,7 +73,7 @@ describe('Search component - Search Page', () => { await apiService.loginWithProfile('admin'); await usersActions.createUser(acsUser); - await apiService.login(acsUser.email, acsUser.password); + await apiService.login(acsUser.username, acsUser.password); await uploadActions.createFolder(emptyFolderModel.name, '-my-'); const newFolderModelUploaded = await uploadActions.createFolder(newFolderModel.name, '-my-'); @@ -88,7 +88,7 @@ describe('Search component - Search Page', () => { await browser.sleep(browser.params.testConfig.timeouts.index_search); - await loginPage.login(acsUser.email, acsUser.password); + await loginPage.login(acsUser.username, acsUser.password); }); afterAll(async () => { diff --git a/e2e/test.config.js b/e2e/test.config.js index 4082a782ad..f1d041adb6 100644 --- a/e2e/test.config.js +++ b/e2e/test.config.js @@ -28,7 +28,7 @@ const USERNAME_ADF = process.env.USERNAME_ADF || "defaultuser"; const PASSWORD_ADF = process.env.PASSWORD_ADF || "defaultuserpassword"; const REDIRECT_URI = process.env.REDIRECT_URI || "/"; -const REDIRECT_URI_LOGOUT = process.env.REDIRECT_URI_LOGOUT || "/logout"; +const REDIRECT_URI_LOGOUT = process.env.REDIRECT_URI_LOGOUT || "#/logout"; const EXTERNAL_ACS_HOST = process.env.EXTERNAL_ACS_HOST; const LOG_LEVEL = process.env.LOG_LEVEL || 'ERROR'; @@ -114,9 +114,9 @@ module.exports = { }, timeouts: { - visible_timeout: 20000, - no_visible_timeout: 20000, - index_search: 25000 + visible_timeout: 10000, + no_visible_timeout: 10000, + index_search: 20000 } }; diff --git a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts index e76827bbaf..8540a46489 100644 --- a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts +++ b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts @@ -112,7 +112,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy { ngOnInit() { this.cardViewUpdateService.itemUpdated$ .pipe( - debounceTime(500), + debounceTime(200), takeUntil(this.onDestroy$)) .subscribe( (updatedNode) => { diff --git a/lib/core/login/components/login.component.ts b/lib/core/login/components/login.component.ts index 77a87355f8..b205672400 100644 --- a/lib/core/login/components/login.component.ts +++ b/lib/core/login/components/login.component.ts @@ -21,11 +21,11 @@ import { } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Router, ActivatedRoute, Params } from '@angular/router'; -import { Location } from '@angular/common'; import { AuthenticationService } from '../../services/authentication.service'; import { LogService } from '../../services/log.service'; import { TranslationService } from '../../services/translation.service'; import { UserPreferencesService } from '../../services/user-preferences.service'; +import { AlfrescoApiService } from '../../services/alfresco-api.service'; import { LoginErrorEvent } from '../models/login-error.event'; import { LoginSubmitEvent } from '../models/login-submit.event'; @@ -139,10 +139,11 @@ export class LoginComponent implements OnInit, OnDestroy { private router: Router, private appConfig: AppConfigService, private userPreferences: UserPreferencesService, - private location: Location, private route: ActivatedRoute, - private sanitizer: DomSanitizer - ) {} + private sanitizer: DomSanitizer, + private alfrescoApiService: AlfrescoApiService + ) { + } ngOnInit() { this.initFormError(); @@ -154,10 +155,14 @@ export class LoginComponent implements OnInit, OnDestroy { if (oauth && oauth.implicitFlow) { this.implicitFlow = true; } + + if (oauth && oauth.silentLogin && !this.authService.isLoggedIn()) { + this.alfrescoApiService.getInstance().oauth2Auth.implicitLogin(); + } } - if (this.authService.isEcmLoggedIn() || this.authService.isBpmLoggedIn()) { - this.location.forward(); + if (this.authService.isLoggedIn()) { + this.router.navigate([this.successRoute]); } else { this.route.queryParams.subscribe((params: Params) => { const url = params['redirectUrl']; @@ -204,6 +209,9 @@ export class LoginComponent implements OnInit, OnDestroy { } implicitLogin() { + if (this.authService.isLoggedIn()) { + this.router.navigate([this.successRoute]); + } this.authService.ssoImplicitLogin(); } diff --git a/lib/core/services/auth-guard-base.ts b/lib/core/services/auth-guard-base.ts index d455365e3c..34b1e33ab7 100644 --- a/lib/core/services/auth-guard-base.ts +++ b/lib/core/services/auth-guard-base.ts @@ -65,10 +65,6 @@ export abstract class AuthGuardBase implements CanActivate, CanActivateChild { if (this.authenticationService.isEcmLoggedIn() || this.withCredentials) { if (redirectFragment) { this.storageService.removeItem('loginFragment'); - const routeRedirectTo = route.routeConfig.children.filter( (routeTo) => routeTo.path === '' ); - if (routeRedirectTo?.length > 0) { - routeRedirectTo[0].redirectTo = redirectFragment; - } return this.router.createUrlTree([redirectFragment]); } return true; @@ -91,16 +87,18 @@ export abstract class AuthGuardBase implements CanActivate, CanActivateChild { } protected redirectToUrl(provider: string, url: string) { - if (!this.isSilentLogin()) { + const pathToLogin = `/${this.getLoginRoute()}`; + let urlToRedirect; + if (!this.authenticationService.isOauth()) { this.authenticationService.setRedirect({ provider, url }); - const pathToLogin = this.getLoginRoute(); - const urlToRedirect = `/${pathToLogin}?redirectUrl=${url}`; - - this.dialog.closeAll(); - - this.router.navigateByUrl(urlToRedirect); + urlToRedirect = `${pathToLogin}?redirectUrl=${url}`; + } else { + urlToRedirect = pathToLogin; } + + this.dialog.closeAll(); + this.router.navigateByUrl(urlToRedirect); } protected getLoginRoute(): string { @@ -131,4 +129,5 @@ export abstract class AuthGuardBase implements CanActivate, CanActivateChild { return this.authenticationService.isOauth() && oauth && oauth.silentLogin; } + } diff --git a/lib/core/services/auth-guard-ecm.service.spec.ts b/lib/core/services/auth-guard-ecm.service.spec.ts index b1589e9289..4ba48a0e9e 100644 --- a/lib/core/services/auth-guard-ecm.service.spec.ts +++ b/lib/core/services/auth-guard-ecm.service.spec.ts @@ -97,7 +97,7 @@ describe('AuthGuardService ECM', () => { expect(router.navigateByUrl).toHaveBeenCalled(); })); - it('should not redirect url if the alfresco js api is NOT logged in and isOAuth with silentLogin', async(() => { + it('should redirect url if the alfresco js api is NOT logged in and isOAuth with silentLogin', async(() => { spyOn(router, 'navigateByUrl').and.stub(); spyOn(authService, 'isEcmLoggedIn').and.returnValue(false); spyOn(authService, 'isOauth').and.returnValue(true); @@ -116,7 +116,7 @@ describe('AuthGuardService ECM', () => { const route: RouterStateSnapshot = {url : 'abc'}; expect(authGuard.canActivate(null, route)).toBeTruthy(); - expect(router.navigateByUrl).toHaveBeenCalledTimes(0); + expect(router.navigateByUrl).toHaveBeenCalledTimes(1); expect(authService.ssoImplicitLogin).toHaveBeenCalledTimes(1); })); diff --git a/lib/core/services/auth-guard.service.spec.ts b/lib/core/services/auth-guard.service.spec.ts index d95d9d09ad..0b75e9dfbc 100644 --- a/lib/core/services/auth-guard.service.spec.ts +++ b/lib/core/services/auth-guard.service.spec.ts @@ -103,7 +103,7 @@ describe('AuthGuardService', () => { appConfigService.config.oauth2.silentLogin = true; expect(await authGuard.canActivate(null, state)).toBeFalsy(); - expect(router.navigateByUrl).not.toHaveBeenCalled(); + expect(router.navigateByUrl).toHaveBeenCalled(); })); it('should set redirect url', async(async () => { diff --git a/lib/core/templates/error-content/error-content.component.html b/lib/core/templates/error-content/error-content.component.html index 765e0ecdf0..39f2d0afa0 100644 --- a/lib/core/templates/error-content/error-content.component.html +++ b/lib/core/templates/error-content/error-content.component.html @@ -1,13 +1,13 @@

- {{ errorCode }} + {{ errorCodeTranslated }}

- {{ 'ERROR_CONTENT.' + errorCode + '.TITLE' | translate }} + {{ 'ERROR_CONTENT.' + errorCodeTranslated + '.TITLE' | translate }}

- {{ 'ERROR_CONTENT.' + errorCode + '.DESCRIPTION' | translate }} + {{ 'ERROR_CONTENT.' + errorCodeTranslated + '.DESCRIPTION' | translate }}

diff --git a/lib/core/templates/error-content/error-content.component.spec.ts b/lib/core/templates/error-content/error-content.component.spec.ts index b0c553514b..b3c8241a80 100644 --- a/lib/core/templates/error-content/error-content.component.spec.ts +++ b/lib/core/templates/error-content/error-content.component.spec.ts @@ -123,7 +123,7 @@ describe('ErrorContentComponent', () => { spyOn(translateService, 'instant').and.returnValue(of('404')); fixture.detectChanges(); fixture.whenStable().then(() => { - expect(errorContentComponent.errorCode).toBe('404'); + expect(errorContentComponent.errorCodeTranslated).toBe('404'); }); })); }); diff --git a/lib/core/templates/error-content/error-content.component.ts b/lib/core/templates/error-content/error-content.component.ts index 5ac7f93103..c0f4698539 100644 --- a/lib/core/templates/error-content/error-content.component.ts +++ b/lib/core/templates/error-content/error-content.component.ts @@ -22,9 +22,8 @@ import { ViewEncapsulation, OnInit } from '@angular/core'; -import { Params, ActivatedRoute } from '@angular/router'; +import { ActivatedRoute } from '@angular/router'; import { TranslationService } from '../../services/translation.service'; - @Component({ selector: 'adf-error-content', templateUrl: './error-content.component.html', @@ -41,16 +40,18 @@ export class ErrorContentComponent implements OnInit { @Input() errorCode: string = ErrorContentComponent.UNKNOWN_ERROR; + errorCodeTranslated: string; + constructor(private route: ActivatedRoute, private translateService: TranslationService) { } ngOnInit() { if (this.route) { - this.route.params.forEach((params: Params) => { - if (params['id']) { - this.errorCode = this.checkErrorExists(params['id']) ? params['id'] : ErrorContentComponent.UNKNOWN_ERROR; - } + this.route.params.subscribe(params => { + const code = params['id'] || this.errorCode; + const errorHasTranslation = this.checkErrorExists(code); + this.errorCodeTranslated = errorHasTranslation ? code : ErrorContentComponent.UNKNOWN_ERROR; }); } } diff --git a/lib/testing/src/lib/content-services/pages/document-list.page.ts b/lib/testing/src/lib/content-services/pages/document-list.page.ts index 284d213066..2f8ef81b3f 100644 --- a/lib/testing/src/lib/content-services/pages/document-list.page.ts +++ b/lib/testing/src/lib/content-services/pages/document-list.page.ts @@ -19,6 +19,7 @@ import { Locator, by, element, ElementFinder, browser } from 'protractor'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { BrowserVisibility } from '../../core/utils/browser-visibility'; import { BrowserActions } from '../../core/utils/browser-actions'; +import { Logger } from '../../core/utils/logger'; export class DocumentListPage { @@ -66,6 +67,7 @@ export class DocumentListPage { } async clickOnActionMenu(content: string): Promise { + Logger.log(`Click action menu ${content}`); await BrowserActions.closeMenuAndDialogs(); const row = this.dataTable.getRow('Display name', content); await BrowserActions.click(row.element(this.optionButton)); diff --git a/lib/testing/src/lib/content-services/pages/like.page.ts b/lib/testing/src/lib/content-services/pages/like.page.ts index 6164938677..1bb72cdccd 100644 --- a/lib/testing/src/lib/content-services/pages/like.page.ts +++ b/lib/testing/src/lib/content-services/pages/like.page.ts @@ -17,6 +17,7 @@ import { browser, by, element } from 'protractor'; import { BrowserActions } from '../../core/utils/browser-actions'; +import { BrowserVisibility } from '../../core/utils/browser-visibility'; export class LikePage { @@ -24,8 +25,8 @@ export class LikePage { likeButton = element(by.css(`.adf-like-grey`)); unlikeButton = element(by.css(`.adf-like-select`)); - async getLikeCounter(): Promise { - return BrowserActions.getText(this.likeCounter); + async checkLikeCounter(counter: number): Promise { + await BrowserVisibility.waitUntilElementHasText(this.likeCounter, counter); } async clickLike(): Promise { diff --git a/lib/testing/src/lib/content-services/pages/rate.page.ts b/lib/testing/src/lib/content-services/pages/rate.page.ts index 018a4a3db3..8d5b76e9e7 100644 --- a/lib/testing/src/lib/content-services/pages/rate.page.ts +++ b/lib/testing/src/lib/content-services/pages/rate.page.ts @@ -31,9 +31,9 @@ export class RatePage { await BrowserActions.click(ratedStar); } - async getRatingCounter(): Promise { + async checkRatingCounter(rating: number): Promise { const ratingsCounter = element(by.css(`div[id="adf-rating-counter"]`)); - return BrowserActions.getText(ratingsCounter); + await BrowserVisibility.waitUntilElementHasText(ratingsCounter, rating); } async isStarRated(rateValue: number): Promise { diff --git a/lib/testing/src/lib/core/actions/identity/group-identity.service.ts b/lib/testing/src/lib/core/actions/identity/group-identity.service.ts index edb9b08a1c..7c65157ef6 100644 --- a/lib/testing/src/lib/core/actions/identity/group-identity.service.ts +++ b/lib/testing/src/lib/core/actions/identity/group-identity.service.ts @@ -76,9 +76,9 @@ export class GroupIdentityService { Logger.log(`Data ${JSON.stringify(data)}`); - return data[0]; + return data[0]; Logger.error('Group not found'); + } catch (error) { - Logger.error('Group not found'); } }; diff --git a/lib/testing/src/lib/core/actions/users.actions.ts b/lib/testing/src/lib/core/actions/users.actions.ts index 3f0903dd2d..7376139112 100644 --- a/lib/testing/src/lib/core/actions/users.actions.ts +++ b/lib/testing/src/lib/core/actions/users.actions.ts @@ -49,7 +49,7 @@ export class UsersActions { if (this.api.apiService.isEcmConfiguration() || (this.api.apiService.isEcmBpmConfiguration())) { Logger.log(`Create user ECM ${user.email}`); await this.api.apiService.core.peopleApi.addPerson({ - id: user.email, + id: user.username, email: user.email, firstName: user.firstName, lastName: user.lastName, diff --git a/lib/testing/src/lib/core/pages/material/dropdown.page.ts b/lib/testing/src/lib/core/pages/material/dropdown.page.ts index 95fe3070c8..4e5dc871f8 100644 --- a/lib/testing/src/lib/core/pages/material/dropdown.page.ts +++ b/lib/testing/src/lib/core/pages/material/dropdown.page.ts @@ -18,6 +18,7 @@ import { element, by, ElementFinder } from 'protractor'; import { BrowserVisibility } from '../../utils/browser-visibility'; import { BrowserActions } from '../../utils/browser-actions'; +import { Logger } from '../../utils/logger'; export class DropdownPage { @@ -33,6 +34,7 @@ export class DropdownPage { } async selectOption(option: string): Promise { + Logger.log(`Select dropdown option ${option}`); await BrowserVisibility.waitUntilElementIsVisible(element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first()); const optionElement = element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first(); await BrowserActions.click(optionElement); diff --git a/lib/testing/src/lib/core/pages/notification-history.page.ts b/lib/testing/src/lib/core/pages/notification-history.page.ts index 71db9c0ee5..17a9e9f0ae 100644 --- a/lib/testing/src/lib/core/pages/notification-history.page.ts +++ b/lib/testing/src/lib/core/pages/notification-history.page.ts @@ -32,8 +32,7 @@ export class NotificationHistoryPage { } async checkNotificationIsPresent(text: string): Promise { - const notificationLisText = await BrowserActions.getText(this.notificationList); - await expect(notificationLisText).toContain(text); + await BrowserVisibility.waitUntilElementHasText(this.notificationList, text); } async checkNotificationIsNotPresent(text: string): Promise { diff --git a/lib/testing/src/lib/core/pages/viewer.page.ts b/lib/testing/src/lib/core/pages/viewer.page.ts index 3156e34aae..94c8356d62 100644 --- a/lib/testing/src/lib/core/pages/viewer.page.ts +++ b/lib/testing/src/lib/core/pages/viewer.page.ts @@ -631,11 +631,11 @@ export class ViewerPage { } async checkOverlayViewerIsDisplayed(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.viewer.element(by.css('div[class*="adf-viewer-overlay-container"]'))); + await BrowserVisibility.waitUntilElementIsVisible(element(by.css('div[class*="adf-viewer-overlay-container"]'))); } async checkInlineViewerIsDisplayed(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.viewer.element(by.css('div[class*="adf-viewer-inline-container"]'))); + await BrowserVisibility.waitUntilElementIsVisible(element(by.css('div[class*="adf-viewer-inline-container"]'))); } async checkTabHasNoIcon(index: number): Promise { diff --git a/lib/testing/src/lib/core/utils/browser-actions.ts b/lib/testing/src/lib/core/utils/browser-actions.ts index e49310aa76..bcd3ad765f 100644 --- a/lib/testing/src/lib/core/utils/browser-actions.ts +++ b/lib/testing/src/lib/core/utils/browser-actions.ts @@ -193,7 +193,7 @@ export class BrowserActions { } static async closeMenuAndDialogs(): Promise { - Logger.info(`close Menu And Dialogs`); + Logger.info(`Close Menu And Dialogs`); const container = element(by.css('div.cdk-overlay-backdrop.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing')); await browser.actions().sendKeys(protractor.Key.ESCAPE).perform(); diff --git a/lib/testing/src/lib/core/utils/browser-visibility.ts b/lib/testing/src/lib/core/utils/browser-visibility.ts index 7673982120..2f737378e2 100644 --- a/lib/testing/src/lib/core/utils/browser-visibility.ts +++ b/lib/testing/src/lib/core/utils/browser-visibility.ts @@ -20,8 +20,8 @@ import { Logger } from './logger'; export class BrowserVisibility { - static NOT_VISIBLE_DEFAULT_TIMEOUT = BrowserVisibility.getNoVisibleTimeout() ? browser.params.testConfig.timeouts.no_visible_timeout : 20000; - static DEFAULT_TIMEOUT = BrowserVisibility.getVisibleTimeout() ? browser.params.testConfig.timeouts.visible_timeout : 20000; + static NOT_VISIBLE_DEFAULT_TIMEOUT = BrowserVisibility.getNoVisibleTimeout() ? browser.params.testConfig.timeouts.no_visible_timeout : 10000; + static DEFAULT_TIMEOUT = BrowserVisibility.getVisibleTimeout() ? browser.params.testConfig.timeouts.visible_timeout : 10000; static getVisibleTimeout() { if (browser && browser.params && browser.params.testConfig && browser.params.testConfig.timeouts) { diff --git a/lib/testing/src/lib/process-services/actions/applications.util.ts b/lib/testing/src/lib/process-services/actions/applications.util.ts index 6e4e3334cc..4288cf474a 100644 --- a/lib/testing/src/lib/process-services/actions/applications.util.ts +++ b/lib/testing/src/lib/process-services/actions/applications.util.ts @@ -63,7 +63,7 @@ export class ApplicationsUtil { await this.api.getInstance().activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] }); return appCreated; } catch (error) { - Logger.error('Import Publish Deploy Application - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text); + Logger.error('Import Publish Deploy Application - Service error, Response: ', JSON.stringify(error)); } } diff --git a/nx.json b/nx.json index dde06ca1d0..2bccba81a9 100644 --- a/nx.json +++ b/nx.json @@ -7,7 +7,7 @@ "tslint.json": "*", "nx.json": "*", ".travis.yml": "*", - "e2e/protractor.excludes.json": "*" + "demo-shell/src/index.html": "*" }, "projects": { "demoshell": { diff --git a/package-lock.json b/package-lock.json index 211e8ab468..6340bf9cce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "alfresco-ng2-components", - "version": "4.2.0", + "version": "4.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@alfresco/adf-cli": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-4.2.0.tgz", - "integrity": "sha512-ROjrkanLKKL2oStj6/4FzA+mL1YmpTjl9A7j3YMYaLlWRGqvF5KBzOvh0He2a6shXa2ekH+uEFxDkAeYNI9B0w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-4.1.0.tgz", + "integrity": "sha512-G5XvgWukvVmoLCm5YO6A0FCJ7hHfCKwhX2urqO1M9Dmh13JgfYsJFl5s06TetdWmZMDCdU85nuVJaPKrOl9cXQ==", "dev": true, "requires": { - "@alfresco/js-api": "4.2.0", + "@alfresco/js-api": "4.1.0", "commander": "^4.0.0", "ejs": "^2.6.1", "license-checker": "^25.0.1", @@ -20,6 +20,17 @@ "spdx-license-list": "^5.0.0" }, "dependencies": { + "@alfresco/js-api": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-4.1.0.tgz", + "integrity": "sha512-9eWihZ3lNtI08cffrnTqB9G8j9syDbLegyTescj8J1vqcxaXF7pvFCfP1zcNRIzfEErx8ncqjFf+IMbh8lvb7A==", + "dev": true, + "requires": { + "event-emitter": "^0.3.5", + "minimatch": "3.0.4", + "superagent": "^6.0.0" + } + }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -35,18 +46,18 @@ } }, "@alfresco/adf-testing": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-4.2.0.tgz", - "integrity": "sha512-zWGc9wjBPfuIKZVYmcgENPXLIXNGprNDJUya1uvw0iKr5UdVR43frVNtF1zkEWcm3yD2eTEFwWrWwfr066YZxQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-4.1.0.tgz", + "integrity": "sha512-HnJ3BnJx3j7Jkfn9C3m+7SxSSQ/Hsl6kuQEhj8NqZ1/6Gu9C9yZd7Zu2CIIOMRkgiJ8LFnYqtCyVdh0jHofZoQ==", "dev": true, "requires": { "tslib": "^2.0.0" } }, "@alfresco/js-api": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-4.2.0.tgz", - "integrity": "sha512-gaKTfiTPbcFdtcBQJ2qWFXVegOSt3FgQpUtzS64uQK9BrFS74wYqIVgYc+00RmGGmpEumKlPxxoSF/xWhrzIEA==", + "version": "4.2.0-126c761a797fba998241ab7c464fb8b55f1cca8b", + "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-4.2.0-126c761a797fba998241ab7c464fb8b55f1cca8b.tgz", + "integrity": "sha512-71JtqQoV2C4d1x7g/TFMCYILckF2h0Qw52HBBHlGzsWALZIPso6FWxZfdlttVQ7/5qiarMKM+IBqcsi+X6Zydw==", "requires": { "event-emitter": "^0.3.5", "minimatch": "3.0.4", @@ -81,15 +92,15 @@ } }, "@angular-devkit/build-angular": { - "version": "0.1002.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1002.0.tgz", - "integrity": "sha512-cPkdp1GceokGHc79Wg0hACMqqmnJ4W3H9kY4c9qp1Xz18b3vk1aq09JNawOpfUN09S9vBCnn4glg22lRyqmJNA==", + "version": "0.1001.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1001.7.tgz", + "integrity": "sha512-0y1m7Y2HiB4BhRaVJbqqf/IXAEAisEeATwCd9NrhixZeBFT1tJa5sZAxKl8HTIEXbWZp4QKLVa+PMhvsGC68zQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1002.0", - "@angular-devkit/build-optimizer": "0.1002.0", - "@angular-devkit/build-webpack": "0.1002.0", - "@angular-devkit/core": "10.2.0", + "@angular-devkit/architect": "0.1001.7", + "@angular-devkit/build-optimizer": "0.1001.7", + "@angular-devkit/build-webpack": "0.1001.7", + "@angular-devkit/core": "10.1.7", "@babel/core": "7.11.1", "@babel/generator": "7.11.0", "@babel/plugin-transform-runtime": "7.11.0", @@ -97,7 +108,7 @@ "@babel/runtime": "7.11.2", "@babel/template": "7.10.4", "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "10.2.0", + "@ngtools/webpack": "10.1.7", "autoprefixer": "9.8.6", "babel-loader": "8.1.0", "browserslist": "^4.9.1", @@ -127,7 +138,7 @@ "postcss-loader": "3.0.0", "raw-loader": "4.0.1", "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.2", + "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", "rollup": "2.26.5", "rxjs": "6.6.2", @@ -154,19 +165,19 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.1002.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1002.0.tgz", - "integrity": "sha512-twM8V03ujBIGVpgV1PBlSDodUdxtUb7WakutfWafAvEHUsgwzfvQz2VtKWvjNZ9AiYjnCuwkQaclqVv0VHNo9w==", + "version": "0.1001.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1001.7.tgz", + "integrity": "sha512-uFYIvMdewU44GbIyRfsUHNMLkx+C0kokpnj7eH5NbJfbyFpCfd3ijBHh+voPdPsDRWs9lLgjbxfHpswSPj4D8w==", "dev": true, "requires": { - "@angular-devkit/core": "10.2.0", + "@angular-devkit/core": "10.1.7", "rxjs": "6.6.2" } }, "@angular-devkit/core": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", - "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.1.7.tgz", + "integrity": "sha512-RRyDkN2FByA+nlnRx/MzUMK1FXwj7+SsrzJcvZfWx4yA5rfKmJiJryXQEzL44GL1aoaXSuvOYu3H72wxZADN8Q==", "dev": true, "requires": { "ajv": "6.12.4", @@ -390,9 +401,9 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz", + "integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==", "dev": true }, "chownr": { @@ -773,9 +784,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.1002.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.0.tgz", - "integrity": "sha512-ACnm9doPMbRtSy1UZN5ir7smeLMx0g0oW7jX3jyPepeQKZ+9U1Bn09t10NLZQH+Z509jWZgvNJH/aOh85P6euw==", + "version": "0.1001.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.7.tgz", + "integrity": "sha512-QkjWbX44mR9fnKbgq93ikTKWCMk9HFVDMVTgoponLqVmjOz614K0ya6ZR3pNvA0RAwGxmKA79zgqUkqEHaQDbw==", "dev": true, "requires": { "loader-utils": "2.0.0", @@ -806,30 +817,30 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1002.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1002.0.tgz", - "integrity": "sha512-TLBBQ6ANOLKXOPxpCOnxAtoknwHA7XhsLuueN06w5qqF+QNNbWUMPoieKFGs2TnotfCgbiq6x57IDEZTyT6V0w==", + "version": "0.1001.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1001.7.tgz", + "integrity": "sha512-2EUOkijukSVXJlMk5PTWlbAcTdMZ9dddRj4XoTLX1N/ZL5qBSE8BN+Jf5We/NPkAdq2apU8Crl9BuGcVeK4wOA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1002.0", - "@angular-devkit/core": "10.2.0", + "@angular-devkit/architect": "0.1001.7", + "@angular-devkit/core": "10.1.7", "rxjs": "6.6.2" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.1002.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1002.0.tgz", - "integrity": "sha512-twM8V03ujBIGVpgV1PBlSDodUdxtUb7WakutfWafAvEHUsgwzfvQz2VtKWvjNZ9AiYjnCuwkQaclqVv0VHNo9w==", + "version": "0.1001.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1001.7.tgz", + "integrity": "sha512-uFYIvMdewU44GbIyRfsUHNMLkx+C0kokpnj7eH5NbJfbyFpCfd3ijBHh+voPdPsDRWs9lLgjbxfHpswSPj4D8w==", "dev": true, "requires": { - "@angular-devkit/core": "10.2.0", + "@angular-devkit/core": "10.1.7", "rxjs": "6.6.2" } }, "@angular-devkit/core": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", - "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.1.7.tgz", + "integrity": "sha512-RRyDkN2FByA+nlnRx/MzUMK1FXwj7+SsrzJcvZfWx4yA5rfKmJiJryXQEzL44GL1aoaXSuvOYu3H72wxZADN8Q==", "dev": true, "requires": { "ajv": "6.12.4", @@ -1613,64 +1624,64 @@ }, "dependencies": { "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", + "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", "dev": true, "requires": { - "@babel/types": "^7.12.5", + "@babel/types": "^7.12.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", + "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", "dev": true, "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.1" } }, "@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", + "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.12.1", "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1" } }, "@babel/parser": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", - "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", + "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==", "dev": true }, "@babel/traverse": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", - "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", + "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", + "@babel/generator": "^7.12.1", "@babel/helper-function-name": "^7.10.4", "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7", + "@babel/parser": "^7.12.1", + "@babel/types": "^7.12.1", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", + "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.10.4", @@ -2801,20 +2812,20 @@ } }, "@ngtools/webpack": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.2.0.tgz", - "integrity": "sha512-W4SSFNQhIiC8JRhIn3c4mb1+fsFKiHp+THVMAUNo+wRZEt/rgzsCdnqv0EmQJJojZhnilUIyB/wVYJu2+S/Bxg==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.1.7.tgz", + "integrity": "sha512-J/ePcuUfrh0tgnZ+Em4Rv0UYb8wBHARk//K0eVr/Qk5ziWEcYyOW3w3Hz6FbxwIElXvkj+/C9GOb1SapkzlEXg==", "dev": true, "requires": { - "@angular-devkit/core": "10.2.0", + "@angular-devkit/core": "10.1.7", "enhanced-resolve": "4.3.0", "webpack-sources": "1.4.3" }, "dependencies": { "@angular-devkit/core": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", - "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.1.7.tgz", + "integrity": "sha512-RRyDkN2FByA+nlnRx/MzUMK1FXwj7+SsrzJcvZfWx4yA5rfKmJiJryXQEzL44GL1aoaXSuvOYu3H72wxZADN8Q==", "dev": true, "requires": { "ajv": "6.12.4", @@ -4748,11 +4759,20 @@ "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" }, "@snyk/cli-interface": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.11.0.tgz", - "integrity": "sha512-T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.9.2.tgz", + "integrity": "sha512-C64bGtcQbh7941l7qgXFJ+FJIZdQtBHkPhKfGtUlCCMbC0FK0oaUmp6d7YPQxT4dEnkQdtlBT/eA2F6qIKbEng==", "requires": { - "@types/graphlib": "^2" + "@snyk/dep-graph": "1.19.4", + "@types/graphlib": "^2.1.7", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@snyk/cocoapods-lockfile-parser": { @@ -4767,24 +4787,6 @@ "tslib": "^1.10.0" }, "dependencies": { - "@snyk/dep-graph": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz", - "integrity": "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==", - "requires": { - "graphlib": "^2.1.8", - "lodash.isequal": "^4.5.0", - "object-hash": "^2.0.3", - "semver": "^6.0.0", - "source-map-support": "^0.5.19", - "tslib": "^1.13.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -4804,14 +4806,15 @@ } }, "@snyk/dep-graph": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.21.0.tgz", - "integrity": "sha512-+xwiU1zw+Z1V6RaIL7oWUqZo8jDIpoKfzvv8xGiq0hYxsiP9tGSUNuFXwQzAFEP60kJyD2a/nptdRPjsKD0jPw==", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz", + "integrity": "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==", "requires": { "graphlib": "^2.1.8", "lodash.isequal": "^4.5.0", "object-hash": "^2.0.3", "semver": "^6.0.0", + "source-map-support": "^0.5.19", "tslib": "^1.13.0" }, "dependencies": { @@ -5454,13 +5457,50 @@ } }, "adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", + "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "assert": "1.4.1", + "camelcase": "5.0.0", + "loader-utils": "1.2.3", + "object-path": "0.11.4", + "regex-parser": "2.2.10" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + } } }, "adm-zip": { @@ -5840,30 +5880,12 @@ } }, "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "dev": true, "requires": { - "object-assign": "^4.1.1", "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } } }, "assert-plus": { @@ -6569,13 +6591,13 @@ "dev": true }, "browser-sync": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.13.tgz", - "integrity": "sha512-JPYLTngIzI+Dzx+StSSlMtF+Q9yjdh58HW6bMFqkFXuzQkJL8FCvp4lozlS6BbECZcsM2Gmlgp0uhEjvl18X4w==", + "version": "2.26.12", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.12.tgz", + "integrity": "sha512-1GjAe+EpZQJgtKhWsxklEjpaMV0DrRylpHRvZWgOphDQt+bfLZjfynl/j1WjSFIx8ozj9j78g6Yk4TqD3gKaMA==", "dev": true, "requires": { - "browser-sync-client": "^2.26.13", - "browser-sync-ui": "^2.26.13", + "browser-sync-client": "^2.26.12", + "browser-sync-ui": "^2.26.12", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.4.1", @@ -6583,7 +6605,7 @@ "connect-history-api-fallback": "^1", "dev-ip": "^1.0.1", "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", + "eazy-logger": "^3", "etag": "^1.8.1", "fresh": "^0.5.2", "fs-extra": "3.0.1", @@ -6613,11 +6635,12 @@ "dev": true }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { + "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -7082,9 +7105,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yargs": { @@ -7119,9 +7142,9 @@ } }, "browser-sync-client": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.13.tgz", - "integrity": "sha512-p2VbZoYrpuDhkreq+/Sv1MkToHklh7T1OaIntDwpG6Iy2q/XkBcgwPcWjX+WwRNiZjN8MEehxIjEUh12LweLmQ==", + "version": "2.26.12", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.12.tgz", + "integrity": "sha512-bEBDRkufKxrIfjOsIB1FN9itUEXr2oLtz1AySgSSr80K2AWzmtoYnxtVASx/i40qFrSdeI31pNvdCjHivihLVA==", "dev": true, "requires": { "etag": "1.8.1", @@ -7148,9 +7171,9 @@ } }, "browser-sync-ui": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.13.tgz", - "integrity": "sha512-6NJ/pCnhCnBMzaty1opWo7ipDmFAIk8U71JMQGKJxblCUaGfdsbF2shf6XNZSkXYia1yS0vwKu9LIOzpXqQZCA==", + "version": "2.26.12", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.12.tgz", + "integrity": "sha512-PkAJNf/TfCFTCkQUfXplR2Kp/+/lbCWFO9lrgLZsmxIhvMLx2pYZFBbTBIaem8qjXhld9ZcESUC8EdU5VWFJgQ==", "dev": true, "requires": { "async-each-series": "0.1.1", @@ -7199,13 +7222,21 @@ } }, "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^5.0.0", + "bn.js": "^4.1.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "browserify-sign": { @@ -7437,16 +7468,6 @@ } } }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -8605,12 +8626,12 @@ } }, "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" } }, "p-map": { @@ -8739,12 +8760,6 @@ "sha.js": "^2.4.8" } }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "cross-fetch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz", @@ -10099,12 +10114,6 @@ "path-type": "^4.0.0" } }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -10304,12 +10313,12 @@ } }, "eazy-logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", - "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", + "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", "dev": true, "requires": { - "tfunk": "^4.0.0" + "tfunk": "^3.0.1" } }, "ecc-jsbn": { @@ -12084,17 +12093,6 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", @@ -12606,9 +12604,9 @@ "dev": true }, "highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.2.0.tgz", + "integrity": "sha512-OryzPiqqNCfO/wtFo619W+nPYALM6u7iCQkum4bqRmmlcTikOkmlL06i009QelynBPAlNByTQU6cBB2cOBQtCw==", "dev": true }, "hmac-drbg": { @@ -13560,13 +13558,10 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true }, "is-arrayish": { "version": "0.2.1", @@ -13748,6 +13743,12 @@ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, "is-npm": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", @@ -14934,9 +14935,9 @@ } }, "lint-staged": { - "version": "10.5.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", - "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.1.tgz", + "integrity": "sha512-fTkTGFtwFIJJzn/PbUO3RXyEBHIhbfYBE7+rJyLcOXabViaO/h6OslgeK6zpeUtzkDrzkgyAYDTLAwx6JzDTHw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -15015,9 +15016,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { "ms": "2.1.2" @@ -15071,6 +15072,15 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -15155,9 +15165,9 @@ } }, "listr2": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", - "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.2.tgz", + "integrity": "sha512-AajqcZEUikF2ioph6PfH3dIuxJclhr3i3kHgTOP0xeXdWQohrvJAAmqVcV43/GI987HFY/vzT73jYXoa4esDHg==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -15234,16 +15244,24 @@ } }, "lite-server": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/lite-server/-/lite-server-2.6.1.tgz", - "integrity": "sha512-d3oyB/C8AU4EwYQHlLxcu6vTQDnCaLb81v1KKNYABmFS5oeJ11A+YxlqtpbTclID1AFddJfcB5klf0q98vYIMw==", + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/lite-server/-/lite-server-2.5.4.tgz", + "integrity": "sha512-57SverS67UqRFiRm0ktdzEG5yZeyzkywRJ9Q8PHVSGuLm9K97Mr6jF43XTu5v9lVe8g0WHJ4eKlIeGSd1Bq/sw==", "dev": true, "requires": { - "browser-sync": "^2.26.13", - "connect-history-api-fallback": "^1.6.0", - "connect-logger": "^0.0.1", - "lodash": "^4.17.20", - "minimist": "^1.2.5" + "browser-sync": "^2.26.7", + "connect-history-api-fallback": "^1.2.0", + "connect-logger": "0.0.1", + "lodash": "^4.17.15", + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "load-json-file": { @@ -15337,9 +15355,9 @@ } }, "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", "dev": true }, "ms": { @@ -15360,9 +15378,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yargs": { @@ -15713,9 +15731,9 @@ } }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", "dev": true }, "longest-streak": { @@ -16447,43 +16465,64 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.2.tgz", - "integrity": "sha512-ofYJgCZNm1TToSv02pGANe1lfb31g7ULwNV5Nt31d2dAnVLxFHoguDUAj6U0BLEO7Nrztq4mdtL1yFDaeW7J+A==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.2.tgz", + "integrity": "sha512-h2LknfX4U1kScXxH8xE9LCOqT5B+068EAj36qicMb8l4dqdJoyHcmWmpd+ueyZfgu/POvIn+teoUnTtei2ikug==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" }, "dependencies": { - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "minimist": "^1.2.0" } }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } } } @@ -17152,6 +17191,23 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } } } }, @@ -17742,13 +17798,53 @@ "dev": true }, "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", + "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true + }, + "object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, "object-keys": { @@ -17757,6 +17853,12 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=", + "dev": true + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -18702,9 +18804,9 @@ } }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -19978,32 +20080,62 @@ } }, "protractor-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protractor-retry/-/protractor-retry-2.0.1.tgz", - "integrity": "sha512-Ky9BlQt7O86wlJTESUE5B0iknvPGB8HfDx4gz3+vSUhGhQ0gntrwymFi2VUoc/gdlCCymEYk/uBG0Qih0m0ODQ==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/protractor-retry/-/protractor-retry-1.2.13.tgz", + "integrity": "sha512-xKUuYhFt6mhvd5Zd6v3Tpua36xfAdLyPpbGZ1lLR0RChvbmKXqGXlfLyC5Uqey9/dkSGMxm2SQrrDYOfJhK/4w==", "dev": true, "requires": { "array-unique": "~0.3.2", "chai": "3.x", "chai-as-promised": "5.x", - "cross-spawn": "^7.0.2", "debug": "^2.1.1", "lodash": "^4.17.19", "mkdirp": "^0.5.1", "q": "^1.4.1", "xml2js": "~0.4.17", - "yargs": "^16.1.1" + "yargs": "^15.4.1" }, "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" } }, "debug": { @@ -20015,6 +20147,37 @@ "ms": "2.0.0" } }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -20030,34 +20193,85 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "p-limit": "^2.2.0" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -20581,9 +20795,9 @@ } }, "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", + "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", "dev": true }, "regexp.prototype.flags": { @@ -20870,12 +21084,12 @@ "dev": true }, "resolve-url-loader": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", - "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz", + "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==", "dev": true, "requires": { - "adjust-sourcemap-loader": "3.0.0", + "adjust-sourcemap-loader": "2.0.0", "camelcase": "5.3.1", "compose-function": "3.0.3", "convert-source-map": "1.7.0", @@ -22268,12 +22482,12 @@ } }, "snyk": { - "version": "1.434.2", - "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.434.2.tgz", - "integrity": "sha512-DPU3c0ixrefM7Rh7klUn9fTTTaiee3J3SKVn4zU7LxDREKlxPB+A+xiGkEbkRsLqIZK1xJtP6KopwWOSYjZ+Ow==", + "version": "1.431.2", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.431.2.tgz", + "integrity": "sha512-DGm/bxtCSI/ReGK0vMphicQyZtVXiLgLvWkdDbRmsMb4Q7VRylAq9z+5lursLriED7eTjxlkgFMjOdGOuIoxpg==", "requires": { - "@snyk/cli-interface": "2.11.0", - "@snyk/dep-graph": "1.21.0", + "@snyk/cli-interface": "2.9.2", + "@snyk/dep-graph": "1.19.4", "@snyk/gemfile": "1.2.0", "@snyk/snyk-cocoapods-plugin": "2.5.1", "abbrev": "^1.1.1", @@ -22297,9 +22511,9 @@ "snyk-cpp-plugin": "2.2.1", "snyk-docker-plugin": "4.12.0", "snyk-go-plugin": "1.16.2", - "snyk-gradle-plugin": "3.10.3", + "snyk-gradle-plugin": "3.10.2", "snyk-module": "3.1.0", - "snyk-mvn-plugin": "2.25.0", + "snyk-mvn-plugin": "2.23.4", "snyk-nodejs-lockfile-parser": "1.30.1", "snyk-nuget-plugin": "1.19.4", "snyk-php-plugin": "1.9.2", @@ -22494,24 +22708,6 @@ "tslib": "^1.10.0" }, "dependencies": { - "@snyk/dep-graph": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz", - "integrity": "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==", - "requires": { - "graphlib": "^2.1.8", - "lodash.isequal": "^4.5.0", - "object-hash": "^2.0.3", - "semver": "^6.0.0", - "source-map-support": "^0.5.19", - "tslib": "^1.13.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -22528,9 +22724,9 @@ } }, "snyk-gradle-plugin": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.10.3.tgz", - "integrity": "sha512-aFAqQu0vvgndxQtXxNfLzL9wamOwyRceRkSb+BXVp6E+Tpz4awksyUTfV0Yc5WjR0+hYB2rtBYKHXaK+GHficg==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.10.2.tgz", + "integrity": "sha512-gTFKL0BLUN54asUQ4OIoa4lATGn27VZwWDJGQ0VuqSaaoy8I5W16Cbn/KN95oIKa7tgwrmasPLd5uviFWzo/Qw==", "requires": { "@snyk/cli-interface": "2.9.1", "@snyk/dep-graph": "^1.19.4", @@ -22552,19 +22748,6 @@ "tslib": "^1.9.3" }, "dependencies": { - "@snyk/dep-graph": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz", - "integrity": "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==", - "requires": { - "graphlib": "^2.1.8", - "lodash.isequal": "^4.5.0", - "object-hash": "^2.0.3", - "semver": "^6.0.0", - "source-map-support": "^0.5.19", - "tslib": "^1.13.0" - } - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -22602,11 +22785,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -22635,12 +22813,12 @@ } }, "snyk-mvn-plugin": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.25.0.tgz", - "integrity": "sha512-2NDWrMWi9K32i9CdWUy2Pce8D9myR0dxPDJJpamVt/DD3fDxH4ia701i2HdDgOjMq8PI6yIgI+vRaAW3X2GrbA==", + "version": "2.23.4", + "resolved": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.23.4.tgz", + "integrity": "sha512-1dWqvFu6eo2KsXFDqRF28JFwrdzpc0k+GwpIqv7vF2kHarsMxnLnT/akhjbKzs+xlRTNFvqdKhEQxjdq2nSD1Q==", "requires": { "@snyk/cli-interface": "2.9.1", - "@snyk/java-call-graph-builder": "1.17.0", + "@snyk/java-call-graph-builder": "1.16.5", "debug": "^4.1.1", "glob": "^7.1.6", "needle": "^2.5.0", @@ -22658,30 +22836,10 @@ "tslib": "^1.9.3" } }, - "@snyk/dep-graph": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz", - "integrity": "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==", - "requires": { - "graphlib": "^2.1.8", - "lodash.isequal": "^4.5.0", - "object-hash": "^2.0.3", - "semver": "^6.0.0", - "source-map-support": "^0.5.19", - "tslib": "^1.13.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, "@snyk/java-call-graph-builder": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.17.0.tgz", - "integrity": "sha512-uO1b6UtT6QGz7F5ZgNdOSyMXBvykUhOcuHBRc//xUnBWsyJwdlAFp/d646zIeaBCe87Fcn5hXuWUGjj+N8rBzA==", + "version": "1.16.5", + "resolved": "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.16.5.tgz", + "integrity": "sha512-6H4hkq/qYljJoH1QnZsTRPMqp9Kt5AOEZYGJAeSHkhJdfUYSLtqwN4WsU6yVR3vWAaDQ8Lllp3m6EL7nstMPZA==", "requires": { "ci-info": "^2.0.0", "debug": "^4.1.1", @@ -22694,8 +22852,7 @@ "source-map-support": "^0.5.7", "temp-dir": "^2.0.0", "tmp": "^0.2.1", - "tslib": "^1.9.3", - "xml-js": "^1.6.11" + "tslib": "^1.9.3" }, "dependencies": { "tmp": { @@ -22708,11 +22865,6 @@ } } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "tmp": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", @@ -22884,6 +23036,25 @@ "tslib": "^2.0.0" }, "dependencies": { + "@snyk/dep-graph": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.21.0.tgz", + "integrity": "sha512-+xwiU1zw+Z1V6RaIL7oWUqZo8jDIpoKfzvv8xGiq0hYxsiP9tGSUNuFXwQzAFEP60kJyD2a/nptdRPjsKD0jPw==", + "requires": { + "graphlib": "^2.1.8", + "lodash.isequal": "^4.5.0", + "object-hash": "^2.0.3", + "semver": "^6.0.0", + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -22891,6 +23062,11 @@ "requires": { "ms": "2.1.2" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -23267,9 +23443,9 @@ }, "dependencies": { "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -24753,12 +24929,12 @@ } }, "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" } }, "p-map": { @@ -24808,13 +24984,13 @@ } }, "tfunk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", - "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", + "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" + "chalk": "^1.1.1", + "object-path": "^0.9.0" }, "dependencies": { "ansi-regex": { @@ -24842,6 +25018,12 @@ "supports-color": "^2.0.0" } }, + "object-path": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -24927,9 +25109,9 @@ "dev": true }, "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -25227,13 +25409,12 @@ } }, "ts-node": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.0.tgz", - "integrity": "sha512-0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.0.0.tgz", + "integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==", "dev": true, "requires": { "arg": "^4.1.0", - "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.17", @@ -25662,9 +25843,9 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==", + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", "dev": true }, "uc.micro": { @@ -26048,18 +26229,18 @@ "dev": true }, "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "2.0.1" }, "dependencies": { "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true } } @@ -26216,21 +26397,21 @@ "dev": true }, "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", "dev": true, "requires": { "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" + "watchpack-chokidar2": "^2.0.0" } }, "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", "dev": true, "optional": true, "requires": { @@ -27436,9 +27617,9 @@ } }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yargs": { @@ -27743,14 +27924,6 @@ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "requires": { - "sax": "^1.2.4" - } - }, "xml2js": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", @@ -27915,12 +28088,6 @@ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, "zone.js": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", diff --git a/package.json b/package.json index 5b6fdffda8..b2510fab0b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "alfresco-ng2-components", "commit": "b644b39d17396330d2a67509f58c5b9e890b9b13", "description": "Alfresco Angular components", - "version": "4.2.0", + "version": "4.1.0", "author": "Alfresco Software, Ltd.", "main": "./index.js", "scripts": { @@ -71,7 +71,7 @@ "process services-cloud" ], "dependencies": { - "@alfresco/js-api": "4.2.0", + "@alfresco/js-api": "4.2.0-126c761a797fba998241ab7c464fb8b55f1cca8b", "@angular/animations": "^10.0.4", "@angular/cdk": "10.1.3", "@angular/common": "^10.0.4", @@ -100,14 +100,14 @@ "pdfjs-dist": "2.5.207", "raphael": "2.3.0", "rxjs": "^6.6.3", - "snyk": "^1.434.2", + "snyk": "^1.431.2", "tslib": "^2.0.3", "zone.js": "~0.10.2" }, "devDependencies": { - "@alfresco/adf-cli": "4.2.0", - "@alfresco/adf-testing": "4.2.0", - "@angular-devkit/build-angular": "^0.1002.0", + "@alfresco/adf-cli": "4.1.0", + "@alfresco/adf-testing": "4.1.0", + "@angular-devkit/build-angular": "^0.1001.7", "@angular-devkit/build-ng-packagr": "~0.1002.0", "@angular/cli": "^10.2.0", "@angular/compiler-cli": "^10.0.12", @@ -145,7 +145,7 @@ "karma-jasmine-html-reporter": "^0.2.2", "karma-mocha-reporter": "2.2.5", "license-checker": "^25.0.1", - "lint-staged": "^10.5.3", + "lint-staged": "^10.5.1", "lite-server": "^2.5.4", "markdownlint-cli": "^0.25.0", "mdast": "^3.0.0", @@ -153,12 +153,12 @@ "mdast-util-heading-range": "^2.1.5", "mdast-util-toc": "^5.0.3", "mdast-zone": "^4.0.1", - "mini-css-extract-plugin": "^1.3.2", + "mini-css-extract-plugin": "^0.11.2", "nconf": "^0.11.0", "ng-packagr": "^10.1.2", "optimize-css-assets-webpack-plugin": "^5.0.4", "protractor": "^7.0.0", - "protractor-retry": "^2.0.1", + "protractor-retry": "^1.2.9", "protractor-screenshoter-plugin": "0.10.3", "protractor-smartrunner": "^0.1.1", "remark": "^13.0.0", @@ -169,7 +169,7 @@ "scss-bundle": "2.3.2", "selenium-webdriver": "4.0.0-alpha.7", "stylelint": "^13.8.0", - "ts-node": "^9.1.0", + "ts-node": "^9.0.0", "tsconfig-paths": "^3.9.0", "tslint": "6.1.3", "typedoc": "^0.19.2",