* create after e2e and before e2e script

* permission test exclude

* flaky exclude

* fix

* chmod permission

* modify check cs

* fix

* execute

* fix

* fix
This commit is contained in:
Eugenio Romano 2020-11-16 00:49:10 +00:00 committed by GitHub
parent d36fd9d5f1
commit ababde3760
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
42 changed files with 152 additions and 130 deletions

View File

@ -88,37 +88,35 @@ jobs:
- stage: Release tag - stage: Release tag
script: ./scripts/travis/release/git-tag.sh script: ./scripts/travis/release/git-tag.sh
- stage: e2e Test - stage: e2e Test
name: core name: core
before_script: before_script: ./scripts/ci/job_hooks/before_e2e.sh
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
script: ./scripts/travis/e2e/core-e2e.sh script: ./scripts/travis/e2e/core-e2e.sh
after_script: ./scripts/ci/job_hooks/after_e2e.sh
- stage: e2e Test - stage: e2e Test
name: content name: content
before_script: before_script: ./scripts/ci/job_hooks/before_e2e.sh
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
script: ./scripts/travis/e2e/content-services-e2e.sh script: ./scripts/travis/e2e/content-services-e2e.sh
after_script: ./scripts/ci/job_hooks/after_e2e.sh
- stage: e2e Test - stage: e2e Test
name: search name: search
before_script: before_script: ./scripts/ci/job_hooks/before_e2e.sh
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
script: ./scripts/travis/e2e/search-e2e.sh script: ./scripts/travis/e2e/search-e2e.sh
after_script: ./scripts/ci/job_hooks/after_e2e.sh
- stage: e2e Test - stage: e2e Test
name: process name: process
before_script: before_script: ./scripts/ci/job_hooks/before_e2e.sh
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
script: ./scripts/travis/e2e/process-services-e2e.sh script: ./scripts/travis/e2e/process-services-e2e.sh
after_script: ./scripts/ci/job_hooks/after_e2e.sh
- stage: e2e Test - stage: e2e Test
name: process Cloud name: process Cloud
before_script: before_script: ./scripts/ci/job_hooks/before_e2e.sh
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
- ./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
script: ./scripts/travis/e2e/process-services-cloud-e2e.sh script: ./scripts/travis/e2e/process-services-cloud-e2e.sh
after_script: ./scripts/ci/job_hooks/after_e2e.sh
- stage: Check bundle - stage: Check bundle
script: script:

View File

@ -83,7 +83,7 @@ describe('Comment Component', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });
@ -184,7 +184,7 @@ describe('Comment Component', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
}); });
afterAll(async () => { afterAll(async () => {

View File

@ -84,7 +84,7 @@ describe('Version component actions', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });

View File

@ -88,7 +88,7 @@ describe('Edit folder directive', () => {
beforeEach(async () => { beforeEach(async () => {
await navigationBarPage.clickHomeButton(); await navigationBarPage.clickHomeButton();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
}); });

View File

@ -80,7 +80,7 @@ describe('Favorite directive', () => {
}); });
beforeEach(async () => { beforeEach(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
}); });
@ -95,7 +95,7 @@ describe('Favorite directive', () => {
await customSourcesPage.selectFavoritesSourceType(); await customSourcesPage.selectFavoritesSourceType();
await customSourcesPage.checkRowIsDisplayed(testFile.entry.name); await customSourcesPage.checkRowIsDisplayed(testFile.entry.name);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFile.entry.name); await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFile.entry.name);
await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFile.entry.name); await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFile.entry.name);
@ -117,7 +117,7 @@ describe('Favorite directive', () => {
await customSourcesPage.selectFavoritesSourceType(); await customSourcesPage.selectFavoritesSourceType();
await customSourcesPage.checkRowIsDisplayed(testFolder1.entry.name); await customSourcesPage.checkRowIsDisplayed(testFolder1.entry.name);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFolder1.entry.name); await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFolder1.entry.name);
await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFolder1.entry.name); await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFolder1.entry.name);
@ -153,7 +153,7 @@ describe('Favorite directive', () => {
await trashcanPage.contentList.dataTablePage().waitTillContentLoaded(); await trashcanPage.contentList.dataTablePage().waitTillContentLoaded();
await trashcanPage.checkTrashcanIsEmpty(); await trashcanPage.checkTrashcanIsEmpty();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFile.entry.name); await contentServicesPage.getDocumentList().dataTablePage().checkContentIsDisplayed('Display name', testFile.entry.name);
await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFile.entry.name); await contentServicesPage.getDocumentList().dataTablePage().selectRow('Display name', testFile.entry.name);

View File

@ -92,13 +92,13 @@ describe('Restore content directive', () => {
beforeEach(async () => { beforeEach(async () => {
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });
describe('Restore same name folders', () => { describe('Restore same name folders', () => {
beforeAll(async () => { beforeAll(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(folderName); await contentServicesPage.checkContentIsDisplayed(folderName);
await contentServicesPage.deleteContent(folderName); await contentServicesPage.deleteContent(folderName);
@ -110,7 +110,7 @@ describe('Restore content directive', () => {
it('[C260227] Should validate when restoring Folders with same name', async () => { it('[C260227] Should validate when restoring Folders with same name', async () => {
await uploadActions.createFolder(folderName, '-my-'); await uploadActions.createFolder(folderName, '-my-');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await browser.refresh(); await browser.refresh();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(folderName); await contentServicesPage.checkContentIsDisplayed(folderName);
@ -123,7 +123,7 @@ describe('Restore content directive', () => {
await trashcanPage.getDocumentList().dataTablePage().checkAllRows(); await trashcanPage.getDocumentList().dataTablePage().checkAllRows();
await trashcanPage.clickRestore(); await trashcanPage.clickRestore();
await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderName); await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(folderName);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.checkContentIsDisplayed(folderName); await contentServicesPage.checkContentIsDisplayed(folderName);
@ -144,7 +144,7 @@ describe('Restore content directive', () => {
await notificationHistoryPage.checkNotifyContains(testFile.entry.name + ' item restored'); await notificationHistoryPage.checkNotifyContains(testFile.entry.name + ' item restored');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(testFile.entry.name); await contentServicesPage.checkContentIsDisplayed(testFile.entry.name);
await contentServicesPage.deleteContent(testFile.entry.name); await contentServicesPage.deleteContent(testFile.entry.name);
@ -165,7 +165,7 @@ describe('Restore content directive', () => {
await trashcanPage.clickRestore(); await trashcanPage.clickRestore();
await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(folderWithContent.entry.name); await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsNotDisplayed(folderWithContent.entry.name);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name); await contentServicesPage.checkContentIsDisplayed(folderWithContent.entry.name);
await contentServicesPage.getDocumentList().dataTablePage().doubleClickRow('Display name', folderWithContent.entry.name); await contentServicesPage.getDocumentList().dataTablePage().doubleClickRow('Display name', folderWithContent.entry.name);
@ -201,7 +201,7 @@ describe('Restore content directive', () => {
await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithFolder.entry.name); await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(folderWithFolder.entry.name);
await trashcanPage.clickRestore(); await trashcanPage.clickRestore();
await notificationHistoryPage.checkNotifyContains('Restore successful'); await notificationHistoryPage.checkNotifyContains('Restore successful');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name); await contentServicesPage.checkContentIsDisplayed(folderWithFolder.entry.name);
await contentServicesPage.openFolder(folderWithFolder.entry.name); await contentServicesPage.openFolder(folderWithFolder.entry.name);
@ -261,7 +261,7 @@ describe('Restore content directive', () => {
await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id); await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id);
await trashcanPage.clickRestore(); await trashcanPage.clickRestore();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.selectSite(publicSite.entry.title); await contentServicesPage.selectSite(publicSite.entry.title);
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
@ -312,7 +312,7 @@ describe('Restore content directive', () => {
await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name); await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name);
await trashcanPage.clickRestore(); await trashcanPage.clickRestore();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name); await contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name);
await contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name); await contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name);

View File

@ -87,7 +87,7 @@ describe('Document List Component - Actions', () => {
}); });
beforeEach(async () => { beforeEach(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded();
}); });

View File

@ -118,7 +118,7 @@ describe('Document List Component', () => {
beforeEach(async () => { beforeEach(async () => {
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded();
}); });

View File

@ -59,7 +59,7 @@ describe('Document List Component - Properties', () => {
}); });
it('[C299154] Should disallow upload content on a folder row if allowDropFiles is false', async () => { it('[C299154] Should disallow upload content on a folder row if allowDropFiles is false', async () => {
await navigationBar.clickContentServicesButton(); await navigationBar.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.openFolder(parentFolder.entry.name); await contentServicesPage.openFolder(parentFolder.entry.name);
@ -75,7 +75,7 @@ describe('Document List Component - Properties', () => {
}); });
it('[C91319] Should allow upload content on a folder row if allowDropFiles is true', async () => { it('[C91319] Should allow upload content on a folder row if allowDropFiles is true', async () => {
await navigationBar.clickContentServicesButton(); await navigationBar.navigateToContentServices();
await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await contentServicesPage.openFolder(parentFolder.entry.name); await contentServicesPage.openFolder(parentFolder.entry.name);

View File

@ -113,7 +113,7 @@ describe('Aspect oriented config', () => {
} }
})); }));
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -143,7 +143,7 @@ describe('Aspect oriented config', () => {
} }
})); }));
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -161,7 +161,7 @@ describe('Aspect oriented config', () => {
it('[C260183] Should show all the aspect if the content-metadata configuration is NOT provided', async () => { it('[C260183] Should show all the aspect if the content-metadata configuration is NOT provided', async () => {
await LocalStorageUtil.setConfigField('content-metadata', '{}'); await LocalStorageUtil.setConfigField('content-metadata', '{}');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -182,7 +182,7 @@ describe('Aspect oriented config', () => {
} }
})); }));
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -222,7 +222,7 @@ describe('Aspect oriented config', () => {
' }' + ' }' +
'}'); '}');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -249,7 +249,7 @@ describe('Aspect oriented config', () => {
' }' + ' }' +
'}'); '}');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -276,7 +276,7 @@ describe('Aspect oriented config', () => {
' }' + ' }' +
'}'); '}');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();
@ -298,7 +298,7 @@ describe('Aspect oriented config', () => {
' }' + ' }' +
'}'); '}');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.clickInfoButton(); await viewerPage.clickInfoButton();

View File

@ -74,7 +74,7 @@ describe('CardView Component - properties', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });

View File

@ -83,7 +83,7 @@ describe('Metadata component', () => {
describe('Viewer Metadata', () => { describe('Viewer Metadata', () => {
beforeAll(async () => { beforeAll(async () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({ await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
presets: { presets: {
@ -230,7 +230,7 @@ describe('Metadata component', () => {
await uploadActions.createFolder(folderName, '-my-'); await uploadActions.createFolder(folderName, '-my-');
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });
@ -280,7 +280,7 @@ describe('Metadata component', () => {
await expect(await metadataViewPage.getPropertyText('properties.cm:description')).toEqual('check author example description'); await expect(await metadataViewPage.getPropertyText('properties.cm:description')).toEqual('check author example description');
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await viewerPage.viewFile(pngFileModel.name); await viewerPage.viewFile(pngFileModel.name);
await viewerPage.checkFileIsLoaded(); await viewerPage.checkFileIsLoaded();

View File

@ -229,7 +229,8 @@ describe('Permissions Component', () => {
await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed();
await permissionsPage.addPermissionsDialog.searchUserOrGroup(groupBody.id); await permissionsPage.addPermissionsDialog.searchUserOrGroup(groupBody.id);
await permissionsPage.addPermissionsDialog.clickUserOrGroup(groupBody.displayName); await permissionsPage.addPermissionsDialog.clickUserOrGroup(groupBody.displayName);
await permissionsPage.addPermissionsDialog.checkUserOrGroupIsAdded(groupBody.id);
await permissionsPage.addPermissionsDialog.checkGroupIsAdded(groupBody.id);
}); });
it('[C277100] Should display EVERYONE group in the search result set', async () => { it('[C277100] Should display EVERYONE group in the search result set', async () => {
@ -263,7 +264,7 @@ describe('Permissions Component', () => {
await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed(); await permissionsPage.addPermissionsDialog.checkSearchUserInputIsDisplayed();
await permissionsPage.addPermissionsDialog.searchUserOrGroup(filePermissionUser.email); await permissionsPage.addPermissionsDialog.searchUserOrGroup(filePermissionUser.email);
await permissionsPage.addPermissionsDialog.clickUserOrGroup(filePermissionUser.firstName); await permissionsPage.addPermissionsDialog.clickUserOrGroup(filePermissionUser.firstName);
await permissionsPage.addPermissionsDialog.checkUserOrGroupIsAdded(filePermissionUser.email); await permissionsPage.addPermissionsDialog.checkUserIsAdded(filePermissionUser.email);
}); });
afterEach(async () => { afterEach(async () => {
@ -313,7 +314,7 @@ describe('Permissions Component', () => {
it('[C276982] Should be able to remove User or Group from the locally set permissions', async () => { 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.email)).toEqual('Contributor');
await permissionsPage.addPermissionsDialog.clickDeletePermissionButton(); await permissionsPage.addPermissionsDialog.clickDeletePermissionButton();
await permissionsPage.addPermissionsDialog.checkUserOrGroupIsDeleted(filePermissionUser.email); await permissionsPage.addPermissionsDialog.checkUserIsDeleted(filePermissionUser.email);
}); });
}); });

View File

@ -188,7 +188,7 @@ describe('Permissions Component', () => {
await permissionsPage.addPermissionsDialog.searchUserOrGroup(consumerUser.email); await permissionsPage.addPermissionsDialog.searchUserOrGroup(consumerUser.email);
await permissionsPage.addPermissionsDialog.clickUserOrGroup(consumerUser.firstName); await permissionsPage.addPermissionsDialog.clickUserOrGroup(consumerUser.firstName);
await permissionsPage.addPermissionsDialog.checkUserOrGroupIsAdded(consumerUser.email); await permissionsPage.addPermissionsDialog.checkUserIsAdded(consumerUser.email);
await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(consumerUser.email)).toEqual('SiteCollaborator'); await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(consumerUser.email)).toEqual('SiteCollaborator');

View File

@ -91,7 +91,7 @@ describe('Share file', () => {
describe('Shared link dialog', () => { describe('Shared link dialog', () => {
beforeAll(async () => { beforeAll(async () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentListPage.selectRow(pngFileModel.name); await contentListPage.selectRow(pngFileModel.name);
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
}); });
@ -165,7 +165,7 @@ describe('Share file', () => {
beforeEach(async () => { beforeEach(async () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });

View File

@ -105,7 +105,7 @@ describe('Unshare file', () => {
nodeId = pngUploadedFile.entry.id; nodeId = pngUploadedFile.entry.id;
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navBar.clickContentServicesButton(); await navBar.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });

View File

@ -77,7 +77,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
await loginSsoPage.loginSSOIdentityService(acsUser.email, acsUser.password); await loginSsoPage.loginSSOIdentityService(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
await contentServicesPage.openFolder(folderName); await contentServicesPage.openFolder(folderName);
await contentListPage.waitForTableBody(); await contentListPage.waitForTableBody();

View File

@ -71,7 +71,7 @@ describe('Version component actions', () => {
Object.assign(txtFileModel, txtUploadedFile.entry); Object.assign(txtFileModel, txtUploadedFile.entry);
txtFileModel.update(txtUploadedFile.entry); txtFileModel.update(txtUploadedFile.entry);
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });
@ -179,7 +179,7 @@ describe('Version component actions', () => {
await browser.refresh(); await browser.refresh();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.checkContentIsDisplayed(txtFileModel.name); await contentServicesPage.checkContentIsDisplayed(txtFileModel.name);
}); });

View File

@ -70,7 +70,7 @@ describe('Version Properties', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
}); });

View File

@ -84,7 +84,7 @@ describe('Version component', () => {
await loginPage.login(acsUser.email, acsUser.password); await loginPage.login(acsUser.email, acsUser.password);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentServicesPage.versionManagerContent(txtFileModel.name); await contentServicesPage.versionManagerContent(txtFileModel.name);
}); });

View File

@ -83,7 +83,7 @@ describe('Enable infinite scrolling', () => {
}); });
beforeEach(async () => { beforeEach(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded();
}); });

View File

@ -160,7 +160,7 @@ describe('Login component', () => {
await loginPage.loginWithProfile('admin'); await loginPage.loginWithProfile('admin');
await navigationBarPage.navigateToProcessServicesPage(); await navigationBarPage.navigateToProcessServicesPage();
await processServicesPage.checkApsContainer(); await processServicesPage.checkApsContainer();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await loginPage.waitForElements(); await loginPage.waitForElements();
}); });
@ -170,7 +170,7 @@ describe('Login component', () => {
await loginPage.goToLoginPage(); await loginPage.goToLoginPage();
await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false); await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
await loginPage.loginWithProfile('admin'); await loginPage.loginWithProfile('admin');
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
}); });
@ -182,7 +182,7 @@ describe('Login component', () => {
await loginPage.loginWithProfile('admin'); await loginPage.loginWithProfile('admin');
await navigationBarPage.navigateToProcessServicesPage(); await navigationBarPage.navigateToProcessServicesPage();
await processServicesPage.checkApsContainer(); await processServicesPage.checkApsContainer();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
await navigationBarPage.clickLoginButton(); await navigationBarPage.clickLoginButton();
await loginPage.waitForElements(); await loginPage.waitForElements();

View File

@ -293,7 +293,7 @@ export class ContentServicesPage {
async goToDocumentList(): Promise<void> { async goToDocumentList(): Promise<void> {
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await this.contentList.dataTablePage().waitTillContentLoaded(); await this.contentList.dataTablePage().waitTillContentLoaded();
} }

View File

@ -30,31 +30,32 @@ export class NavigationBarPage {
processServicesCloudHomeButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="Home"]')); processServicesCloudHomeButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="Home"]'));
themeButton = element(by.css('button[data-automation-id="theme menu"]')); themeButton = element(by.css('button[data-automation-id="theme menu"]'));
themeMenuContent = element(by.css('div[class*="mat-menu-panel"]')); themeMenuContent = element(by.css('div[class*="mat-menu-panel"]'));
languageMenuButton = element(by.css('button[data-automation-id="language-menu-button"]'));
appTitle = element(by.css('.adf-app-title')); appTitle = element(by.css('.adf-app-title'));
menuButton = element(by.css('button[data-automation-id="adf-menu-icon"]')); menuButton = element(by.css('button[data-automation-id="adf-menu-icon"]'));
formButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="Form"]')); formButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="Form"]'));
peopleGroupCloudButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="People/Group Cloud"]')); peopleGroupCloudButton = this.linkMenuChildrenContainer.element(by.css('.app-sidenav-link[data-automation-id="People/Group Cloud"]'));
logoutSection: ElementFinder = element(by.css('div[data-automation-id="adf-logout-section"]')); logoutSection: ElementFinder = element(by.css('div[data-automation-id="adf-logout-section"]'));
personalFiles: ElementFinder = element(by.css('div [title="Personal Files"]'));
async clickNavigationBarItem(title: string): Promise<void> { async clickNavigationBarItem(title: string, untilElementIsVisible?: ElementFinder): Promise<void> {
Logger.log(`clickNavigationBarItem ${title}`); Logger.log(`clickNavigationBarItem ${title}`);
const menu = element(by.css(`.app-sidenav-link[data-automation-id="${title}"]`)); const menu = element(by.css(`.app-sidenav-link[data-automation-id="${title}"]`));
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await BrowserActions.click(menu);
if (untilElementIsVisible) {
await BrowserActions.clickUntilIsNotVisible(menu, untilElementIsVisible);
} else {
await BrowserActions.click(menu);
}
} }
async clickHomeButton(): Promise<void> { async clickHomeButton(): Promise<void> {
await this.clickNavigationBarItem('Home'); await this.clickNavigationBarItem('Home');
} }
async clickContentServicesButton(): Promise<void> { async navigateToContentServices(): Promise<void> {
await this.clickNavigationBarItem('Content Services'); await this.clickNavigationBarItem('Content Services', this.personalFiles);
}
async clickCardViewButton(): Promise<void> {
await this.clickNavigationBarItem('CardView');
} }
async clickHeaderDataButton(): Promise<void> { async clickHeaderDataButton(): Promise<void> {
@ -89,7 +90,7 @@ export class NavigationBarPage {
await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer); await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer);
} }
async clickProcessServicesButton() { private async clickProcessServicesButton() {
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await BrowserActions.clickUntilIsNotVisible(this.getMenuItem('Process Services'), this.linkMenuChildrenContainer); await BrowserActions.clickUntilIsNotVisible(this.getMenuItem('Process Services'), this.linkMenuChildrenContainer);
} }
@ -206,18 +207,6 @@ export class NavigationBarPage {
await BrowserActions.getUrl(`${browser.baseUrl}/files/${folderId}`); await BrowserActions.getUrl(`${browser.baseUrl}/files/${folderId}`);
} }
async openLanguageMenu(): Promise<void> {
await BrowserActions.closeMenuAndDialogs();
await BrowserActions.click(this.languageMenuButton);
await BrowserVisibility.waitUntilElementIsVisible(this.appTitle);
}
async chooseLanguage(language): Promise<void> {
const buttonLanguage = element(by.xpath(`//adf-language-menu//button[contains(text(), '${language}')]`));
await BrowserActions.click(buttonLanguage);
await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer);
}
async checkMenuButtonIsDisplayed(): Promise<void> { async checkMenuButtonIsDisplayed(): Promise<void> {
await BrowserVisibility.waitUntilElementIsVisible(this.menuButton); await BrowserVisibility.waitUntilElementIsVisible(this.menuButton);
} }

View File

@ -168,7 +168,7 @@ describe('Settings component', () => {
await loginPage.enterUsername(browser.params.testConfig.users.admin.username); await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
await loginPage.enterPassword(browser.params.testConfig.users.admin.password); await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
await loginPage.clickSignInButton(); await loginPage.clickSignInButton();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
await navigationBarPage.clickSettingsButton(); await navigationBarPage.clickSettingsButton();
await expect(await settingsPage.getSelectedOptionText()).toBe('ECM'); await expect(await settingsPage.getSelectedOptionText()).toBe('ECM');
@ -195,7 +195,7 @@ describe('Settings component', () => {
await loginPage.enterUsername(browser.params.testConfig.users.admin.username); await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
await loginPage.enterPassword(browser.params.testConfig.users.admin.password); await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
await loginPage.clickSignInButton(); await loginPage.clickSignInButton();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
await navigationBarPage.navigateToProcessServicesPage(); await navigationBarPage.navigateToProcessServicesPage();
await processServicesPage.checkApsContainer(); await processServicesPage.checkApsContainer();

View File

@ -106,7 +106,7 @@ describe('Viewer', () => {
}); });
it('[C260106] Should be able to open a Word file shared via API', async () => { it('[C260106] Should be able to open a Word file shared via API', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await contentServicesPage.waitForTableBody(); await contentServicesPage.waitForTableBody();
await contentList.selectRow(wordFileInfo.name); await contentList.selectRow(wordFileInfo.name);

View File

@ -5,7 +5,7 @@ const retry = require('protractor-retry').retry;
const tsConfig = require('./tsconfig.e2e.json'); const tsConfig = require('./tsconfig.e2e.json');
const testConfig = require('./test.config'); const testConfig = require('./test.config');
const RESOURCES = require('./util/resources'); const RESOURCES = require('./util/resources');
const smartRunner = require('protractor-smartrunner'); const SmartRunner = require('protractor-smartrunner');
const resolve = require('path').resolve; const resolve = require('path').resolve;
const fs = require('fs'); const fs = require('fs');
@ -165,7 +165,7 @@ exports.config = {
includeStackTrace: true, includeStackTrace: true,
print: () => { print: () => {
}, },
...smartRunner.withOptionalExclusions( ...SmartRunner.withOptionalExclusions(
resolve(__dirname, './protractor.excludes.json') resolve(__dirname, './protractor.excludes.json')
) )
}, },
@ -196,11 +196,14 @@ exports.config = {
async onPrepare() { async onPrepare() {
if (process.env.CI) { if (process.env.CI) {
smartRunner.apply({repoHash: process.env.GIT_HASH || ''}); retry.onPrepare();
const repoHash = process.env.GIT_HASH || '';
const outputDirectory = process.env.SMART_RUNNER_DIRECTORY;
console.log(`SmartRunner's repoHash: "${repoHash}"`);
console.log(`SmartRunner's outputDirectory: "${outputDirectory}"`);
SmartRunner.apply({ outputDirectory, repoHash });
} }
retry.onPrepare();
jasmine.DEFAULT_TIMEOUT_INTERVAL = TIMEOUT; jasmine.DEFAULT_TIMEOUT_INTERVAL = TIMEOUT;
require('ts-node').register({ require('ts-node').register({

View File

@ -6,5 +6,12 @@
"C260051": "login problem APS not basic", "C260051": "login problem APS not basic",
"C279932": "login problem APS not basic", "C279932": "login problem APS not basic",
"C279931": "login problem APS not basic", "C279931": "login problem APS not basic",
"C279930": "login problem APS not basic" "C279930": "login problem APS not basic",
"C274691": "ADF-5283 Fix Permission Flaky test",
"C276980": "ADF-5283 Fix Permission Flaky test",
"C276993": "ADF-5283 Fix Permission Flaky test",
"C276996": "ADF-5283 Fix Permission Flaky test",
"C277000": "ADF-5283 Fix Permission Flaky test",
"C277003": "ADF-5283 Fix Permission Flaky test",
"C277004": "ADF-5283 Fix Permission Flaky test"
} }

View File

@ -81,7 +81,7 @@ describe('Search Checklist Component', () => {
}); });
beforeEach(async () => { beforeEach(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.checkSearchIconIsVisible();
await searchBarPage.clickOnSearchIcon(); await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter(randomName); await searchBarPage.enterTextAndPressEnter(randomName);
@ -147,7 +147,7 @@ describe('Search Checklist Component', () => {
}); });
it('[C277143] Should be able to click show more/less button with pageSize set as default', async () => { it('[C277143] Should be able to click show more/less button with pageSize set as default', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
for (let numberOfOptions = 0; numberOfOptions < 8; numberOfOptions++) { for (let numberOfOptions = 0; numberOfOptions < 8; numberOfOptions++) {
jsonFile.categories[1].component.settings.options.push({ jsonFile.categories[1].component.settings.options.push({
@ -185,7 +185,7 @@ describe('Search Checklist Component', () => {
}); });
it('[C277144] Should be able to click show more/less button with pageSize set with a custom value', async () => { it('[C277144] Should be able to click show more/less button with pageSize set with a custom value', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[1].component.settings.pageSize = 10; jsonFile.categories[1].component.settings.pageSize = 10;
@ -209,7 +209,7 @@ describe('Search Checklist Component', () => {
await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed(); await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[1].component.settings.pageSize = 11; jsonFile.categories[1].component.settings.pageSize = 11;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -225,7 +225,7 @@ describe('Search Checklist Component', () => {
await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed(); await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[1].component.settings.pageSize = 9; jsonFile.categories[1].component.settings.pageSize = 9;
@ -242,7 +242,7 @@ describe('Search Checklist Component', () => {
}); });
it('[C277145] Should be able to click show more/less button with pageSize set to zero', async () => { it('[C277145] Should be able to click show more/less button with pageSize set to zero', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[1].component.settings.pageSize = 0; jsonFile.categories[1].component.settings.pageSize = 0;
@ -276,7 +276,7 @@ describe('Search Checklist Component', () => {
await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed(); await searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed();
await searchFiltersPage.checkListFiltersPage().checkShowLessButtonIsDisplayed(); await searchFiltersPage.checkListFiltersPage().checkShowLessButtonIsDisplayed();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
delete jsonFile.categories[1].component.settings.pageSize; delete jsonFile.categories[1].component.settings.pageSize;
@ -308,7 +308,7 @@ describe('Search Checklist Component', () => {
beforeEach(async () => { beforeEach(async () => {
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
}); });
it('[C277018] Should be able to change the operator', async () => { it('[C277018] Should be able to change the operator', async () => {

View File

@ -176,7 +176,7 @@ describe('Search Date Range Filter', () => {
}); });
it('[C277117] Should be able to change date format', async () => { it('[C277117] Should be able to change date format', async () => {
await navigationBar.clickContentServicesButton(); await navigationBar.navigateToContentServices();
jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY'; jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY';

View File

@ -379,7 +379,7 @@ describe('Search Number Range Filter', () => {
}); });
it('[C276928] Should be able to change the field property for number range', async () => { it('[C276928] Should be able to change the field property for number range', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[3].component.settings.field = 'cm:created'; jsonFile.categories[3].component.settings.field = 'cm:created';
@ -418,7 +418,7 @@ describe('Search Number Range Filter', () => {
}); });
it('[C277139] Should be able to set To field to be exclusive', async () => { it('[C277139] Should be able to set To field to be exclusive', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>'; jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>';
@ -457,7 +457,7 @@ describe('Search Number Range Filter', () => {
}); });
it('[C277140] Should be able to set From field to be exclusive', async () => { it('[C277140] Should be able to set From field to be exclusive', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]'; jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]';

View File

@ -135,7 +135,7 @@ describe('Search Radio Component', () => {
}); });
it('[C277147] Should be able to customise the pageSize value', async () => { it('[C277147] Should be able to customise the pageSize value', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[5].component.settings.pageSize = 10; jsonFile.categories[5].component.settings.pageSize = 10;
@ -157,7 +157,7 @@ describe('Search Radio Component', () => {
await expect(await searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10); await expect(await searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[5].component.settings.pageSize = 11; jsonFile.categories[5].component.settings.pageSize = 11;
@ -172,7 +172,7 @@ describe('Search Radio Component', () => {
await expect(await searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10); await expect(await searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10);
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[5].component.settings.pageSize = 9; jsonFile.categories[5].component.settings.pageSize = 9;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -193,7 +193,7 @@ describe('Search Radio Component', () => {
}); });
it('[C277148] Should be able to click show more/less button', async () => { it('[C277148] Should be able to click show more/less button', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[5].component.settings.pageSize = 0; jsonFile.categories[5].component.settings.pageSize = 0;
@ -232,7 +232,7 @@ describe('Search Radio Component', () => {
await searchFiltersPage.typeFiltersPage().checkShowMoreButtonIsDisplayed(); await searchFiltersPage.typeFiltersPage().checkShowMoreButtonIsDisplayed();
await searchFiltersPage.typeFiltersPage().checkShowLessButtonIsNotDisplayed(); await searchFiltersPage.typeFiltersPage().checkShowLessButtonIsNotDisplayed();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
delete jsonFile.categories[5].component.settings.pageSize; delete jsonFile.categories[5].component.settings.pageSize;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -278,7 +278,7 @@ describe('Search Radio Component', () => {
}); });
it('[C277033] Should be able to add a new option', async () => { it('[C277033] Should be able to add a new option', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.categories[5].component.settings.options.push({ jsonFile.categories[5].component.settings.options.push({
'name': filterType.custom, 'name': filterType.custom,

View File

@ -154,7 +154,7 @@ describe('Search Slider Filter', () => {
beforeEach(async () => { beforeEach(async () => {
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
}); });
it('[C276983] Should be able to disable thumb label in Search Size Slider', async () => { it('[C276983] Should be able to disable thumb label in Search Size Slider', async () => {

View File

@ -101,7 +101,7 @@ describe('Search Sorting Picker', () => {
}); });
it('[C277271] Should be able to add a custom search sorter in the "sort by" option', async () => { it('[C277271] Should be able to add a custom search sorter in the "sort by" option', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
jsonFile.sorting.options.push({ jsonFile.sorting.options.push({
'key': 'Modifier', 'key': 'Modifier',
@ -124,7 +124,7 @@ describe('Search Sorting Picker', () => {
}); });
it('[C277272] Should be able to exclude a standard search sorter from the sorting option', async () => { it('[C277272] Should be able to exclude a standard search sorter from the sorting option', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
const removedOption = jsonFile.sorting.options.splice(0, 1); const removedOption = jsonFile.sorting.options.splice(0, 1);
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -141,7 +141,7 @@ describe('Search Sorting Picker', () => {
}); });
it('[C277273] Should be able to set a default order for a search sorting option', async () => { it('[C277273] Should be able to set a default order for a search sorting option', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
jsonFile.sorting.options[0].ascending = false; jsonFile.sorting.options[0].ascending = false;
@ -195,7 +195,7 @@ describe('Search Sorting Picker', () => {
}); });
it('[C277288] Should be able to sort the search results by "Modified Date" ASC', async () => { it('[C277288] Should be able to sort the search results by "Modified Date" ASC', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile = SearchConfiguration.getConfiguration(); jsonFile = SearchConfiguration.getConfiguration();
jsonFile.sorting.options.push({ jsonFile.sorting.options.push({

View File

@ -100,7 +100,7 @@ describe('Search component - Text widget', () => {
jsonFile.categories[0].component.settings.field = 'cm:description'; jsonFile.categories[0].component.settings.field = 'cm:description';
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
await searchBarPage.clickOnSearchIcon(); await searchBarPage.clickOnSearchIcon();

View File

@ -277,7 +277,7 @@ describe('Search component - Search Bar', () => {
const searchConfiguration = SearchConfiguration.getConfiguration(); const searchConfiguration = SearchConfiguration.getConfiguration();
beforeAll(async () => { beforeAll(async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration)); await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration));

View File

@ -216,7 +216,7 @@ describe('Search Filters', () => {
}); });
it('[C299200] Should reset the filters facet with search query', async () => { it('[C299200] Should reset the filters facet with search query', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await searchBarPage.checkSearchIconIsVisible(); await searchBarPage.checkSearchIconIsVisible();
await searchBarPage.clickOnSearchIcon(); await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter(fileTypeTxt1.entry.name); await searchBarPage.enterTextAndPressEnter(fileTypeTxt1.entry.name);
@ -244,7 +244,7 @@ describe('Search Filters', () => {
describe('Change config', () => { describe('Change config', () => {
it('[C291802] Should be able to filter facet fields with "Contains"', async () => { it('[C291802] Should be able to filter facet fields with "Contains"', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile['filterWithContains'] = true; jsonFile['filterWithContains'] = true;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -258,7 +258,7 @@ describe('Search Filters', () => {
}); });
it('[C291981] Should group search facets under the default label, by default', async () => { it('[C291981] Should group search facets under the default label, by default', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
@ -272,7 +272,7 @@ describe('Search Filters', () => {
}); });
it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async () => { it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async () => {
await navigationBarPage.clickContentServicesButton(); await navigationBarPage.navigateToContentServices();
jsonFile.facetFields.fields[0].label = 'My File Types'; jsonFile.facetFields.fields[0].label = 'My File Types';
jsonFile.facetFields.fields[1].label = 'My File Sizes'; jsonFile.facetFields.fields[1].label = 'My File Sizes';

View File

@ -50,6 +50,8 @@ async function checkEnv() {
} }
async function checkDiskSpaceFullEnv() { async function checkDiskSpaceFullEnv() {
console.log(`Start Check disk full space`);
try { try {
const alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({ const alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility({
@ -98,7 +100,6 @@ async function checkDiskSpaceFullEnv() {
} catch (error) { } catch (error) {
counter++; counter++;
console.log('error', error);
const retry = program.retry || MAX_RETRY; const retry = program.retry || MAX_RETRY;
const time = program.time || TIMEOUT; const time = program.time || TIMEOUT;
if (retry === counter) { if (retry === counter) {
@ -108,7 +109,7 @@ async function checkDiskSpaceFullEnv() {
console.log('============================================================='); console.log('=============================================================');
process.exit(1); process.exit(1);
} else { } else {
console.log(`Retry in 1 minute attempt N ${counter}`, error); console.log(`Retry N ${counter} ${error?.error?.status}`);
sleep(time); sleep(time);
checkDiskSpaceFullEnv(); checkDiskSpaceFullEnv();
} }
@ -118,6 +119,7 @@ async function checkDiskSpaceFullEnv() {
} }
function sleep(delay) { function sleep(delay) {
console.log(`Sleep ${delay}`);
var start = new Date().getTime(); var start = new Date().getTime();
while (new Date().getTime() < start + delay) ; while (new Date().getTime() < start + delay) ;
} }

View File

@ -70,12 +70,17 @@ export class AddPermissionsDialogPage {
await BrowserActions.click(this.addButton); await BrowserActions.click(this.addButton);
} }
async checkUserOrGroupIsAdded(name: string): Promise<void> { async checkUserIsAdded(name: string): Promise<void> {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]')); const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
await BrowserVisibility.waitUntilElementIsVisible(userOrGroupName); await BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
} }
async checkUserOrGroupIsDeleted(name: string): Promise<void> { async checkGroupIsAdded(name: string): Promise<void> {
const userOrGroupName = element(by.css('div[data-automation-id="text_GROUP_' + name + '"]'));
await BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
}
async checkUserIsDeleted(name: string): Promise<void> {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]')); const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(userOrGroupName); await BrowserVisibility.waitUntilElementIsNotVisible(userOrGroupName);
} }

View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Upload protractor-smartrunner artifact related to this particular job to S3
./scripts/ci/utils/artifact-to-s3.sh -a "$SMART_RUNNER_DIRECTORY" -o "$S3_DBP_FOLDER/protractor-smartrunner-$TRAVIS_JOB_ID.tar.bz2"

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Download built application artifact from S3
./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-demoshell.tar.bz2" -o "./dist/demo-shell"
./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/alfresco-libs.tar.bz2" -o "./lib/dist"
# Download protractor-smartrunner artifact related to this particular job from S3, if exists
./scripts/ci/utils/artifact-from-s3.sh -a "$S3_DBP_FOLDER/protractor-smartrunner-$TRAVIS_JOB_ID.tar.bz2" -o "$SMART_RUNNER_DIRECTORY"

View File

@ -2,6 +2,10 @@
pip install --user awscli pip install --user awscli
# Settings for protractor-smartrunner -------------------------------------------------
export SMART_RUNNER_DIRECTORY=".protractor-smartrunner"
export NODE_OPTIONS="--max_old_space_size=30000" export NODE_OPTIONS="--max_old_space_size=30000"
export GIT_HASH=`git rev-parse HEAD` export GIT_HASH=`git rev-parse HEAD`
echo "GIT_HASH: $GIT_HASH" echo "GIT_HASH: $GIT_HASH"