Fix e2e test (#4981)

* fix core viewer

* increase rendition retry

* sso refresh before test

* general fix test

* try use last proxy

* avoid use proxy

* remove proxy

* fix setting tests

* fix share and sso test

* fix lint exclude

* fix sso

* fix some process services cloud e2e

* fix sso download

* exclude sso test

* fix cloud

* add logout content service test

* add logout core

* add logout search

* redefine global before all

* separate protracotr method

* try

* try multiple attempt before all

* add prefix group and users

* add prefix group and users

* add prefix group and users

* rexecute sso test

* fix process service visibility e2e

* split SSO login test

* fix SSO download

* fix SSO download

* fix some cloud issues

* fix some cloud issues

* fix some cloud issues

* share file fix cs

* fix cloud test
This commit is contained in:
Eugenio Romano
2019-08-08 17:52:45 +02:00
committed by GitHub
parent b7b251fe72
commit f04c135377
181 changed files with 1136 additions and 668 deletions
@@ -33,7 +33,7 @@ describe('Comment Component', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const commentsPage = new CommentsPage(); const commentsPage = new CommentsPage();
const navigationBar = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
let userFullName, nodeId; let userFullName, nodeId;
@@ -44,7 +44,7 @@ describe('Comment Component', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -61,15 +61,17 @@ describe('Comment Component', () => {
}; };
beforeAll(async (done) => { beforeAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
done(); done();
}); });
beforeEach(async (done) => { afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-');
@@ -80,19 +82,15 @@ describe('Comment Component', () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser); await loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBar.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
done(); done();
}); });
afterEach(async (done) => { afterEach(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId); await uploadActions.deleteFileOrFolder(nodeId);
} catch (error) {
}
done(); done();
}); });
@@ -190,7 +188,7 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBar.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
done(); done();
}); });
@@ -202,7 +200,7 @@ describe('Comment Component', () => {
}); });
it('[C290147] Should NOT be able to add comments to a site file with Consumer permissions', () => { it('[C290147] Should NOT be able to add comments to a site file with Consumer permissions', () => {
navigationBar.goToSite(site); navigationBarPage.goToSite(site);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
viewerPage.viewFile(pngUploadedFile.entry.name); viewerPage.viewFile(pngUploadedFile.entry.name);
@@ -22,6 +22,7 @@ import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser, Key } from 'protractor'; import { browser, Key } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Create folder directive', function () { describe('Create folder directive', function () {
@@ -31,11 +32,12 @@ describe('Create folder directive', function () {
const notificationHistoryPage = new NotificationHistoryPage(); const notificationHistoryPage = new NotificationHistoryPage();
const metadataViewPage = new MetadataViewPage(); const metadataViewPage = new MetadataViewPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage();
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -49,6 +51,10 @@ describe('Create folder directive', function () {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => { beforeEach(async (done) => {
await browser.actions().sendKeys(Key.ESCAPE).perform(); await browser.actions().sendKeys(Key.ESCAPE).perform();
done(); done();
@@ -24,6 +24,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { StringUtil } from '@alfresco/adf-testing'; import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Create library directive', function () { describe('Create library directive', function () {
@@ -31,6 +32,7 @@ describe('Create library directive', function () {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const createLibraryDialog = new CreateLibraryDialog(); const createLibraryDialog = new CreateLibraryDialog();
const customSourcesPage = new CustomSources(); const customSourcesPage = new CustomSources();
const navigationBarPage = new NavigationBarPage();
const visibility = { const visibility = {
public: 'Public', public: 'Public',
@@ -45,7 +47,7 @@ describe('Create library directive', function () {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -62,6 +64,10 @@ describe('Create library directive', function () {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach((done) => { beforeEach((done) => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.openCreateLibraryDialog(); contentServicesPage.openCreateLibraryDialog();
@@ -61,7 +61,7 @@ describe('Version component actions', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -88,6 +88,10 @@ describe('Version component actions', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async () => { afterEach(async () => {
BrowserVisibility.waitUntilDialogIsClose(); BrowserVisibility.waitUntilDialogIsClose();
}); });
@@ -34,9 +34,10 @@ describe('Edit folder directive', function () {
const anotherAcsUser = new AcsUserModel(); const anotherAcsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const notificationHistoryPage = new NotificationHistoryPage(); const notificationHistoryPage = new NotificationHistoryPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const pdfFile = new FileModel({ const pdfFile = new FileModel({
@@ -77,6 +78,7 @@ describe('Edit folder directive', function () {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(editFolder.entry.id); await uploadActions.deleteFileOrFolder(editFolder.entry.id);
await uploadActions.deleteFileOrFolder(anotherFolder.entry.id); await uploadActions.deleteFileOrFolder(anotherFolder.entry.id);
@@ -37,9 +37,10 @@ describe('Favorite directive', function () {
const trashcanPage = new TrashcanPage(); const trashcanPage = new TrashcanPage();
const contentListPage = contentServicesPage.getDocumentList(); const contentListPage = contentServicesPage.getDocumentList();
const contentNodeSelector = new ContentNodeSelectorDialogPage(); const contentNodeSelector = new ContentNodeSelectorDialogPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const pdfFile = new FileModel({ const pdfFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PDF.file_name, 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name,
@@ -66,6 +67,7 @@ describe('Favorite directive', function () {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(testFolder1.entry.id); await uploadActions.deleteFileOrFolder(testFolder1.entry.id);
await uploadActions.deleteFileOrFolder(testFolder2.entry.id); await uploadActions.deleteFileOrFolder(testFolder2.entry.id);
@@ -40,7 +40,7 @@ describe('Restore content directive', function () {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const pdfFileModel = new FileModel({ const pdfFileModel = new FileModel({
@@ -61,7 +61,8 @@ describe('Restore content directive', function () {
const folderName = StringUtil.generateRandomString(5); const folderName = StringUtil.generateRandomString(5);
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let folderWithContent, folderWithFolder, subFolder, subFile, testFile, restoreFile, publicSite, siteFolder, siteFile; let folderWithContent, folderWithFolder, subFolder, subFile, testFile, restoreFile, publicSite, siteFolder,
siteFile;
beforeAll(async (done) => { beforeAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -81,12 +82,13 @@ describe('Restore content directive', function () {
done(); done();
}); });
afterAll(async (done) => { afterAll(async () => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(folderWithContent.entry.id); await uploadActions.deleteFileOrFolder(folderWithContent.entry.id);
await uploadActions.deleteFileOrFolder(folderWithFolder.entry.id); await uploadActions.deleteFileOrFolder(folderWithFolder.entry.id);
await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
done();
}); });
beforeEach(async (done) => { beforeEach(async (done) => {
@@ -41,7 +41,7 @@ describe('Document List Component - Actions', () => {
const breadCrumbPage = new BreadCrumbPage(); const breadCrumbPage = new BreadCrumbPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const infinitePaginationPage = new InfinitePaginationPage(element(by.css('adf-content-node-selector'))); const infinitePaginationPage = new InfinitePaginationPage(element(by.css('adf-content-node-selector')));
@@ -85,12 +85,16 @@ describe('Document List Component - Actions', () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser); await loginPage.loginToContentServicesUsingUserModel(acsUser);
browser.driver.sleep(10000); browser.driver.sleep(12000);
done(); done();
}); });
beforeEach((done) => { afterAll(async () => {
navigationBarPage.clickContentServicesButton(); await navigationBarPage.clickLogoutButton();
});
beforeEach(async(done) => {
await navigationBarPage.clickContentServicesButton();
done(); done();
}); });
@@ -32,7 +32,7 @@ describe('Document List Component', () => {
let uploadedFolder, uploadedFolderExtra; let uploadedFolder, uploadedFolderExtra;
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null; let acsUser = null;
@@ -40,11 +40,12 @@ describe('Document List Component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let uploadedFolder, uploadedFile, sourceFolder, destinationFolder, subFolder, subFolder2, copyFolder, subFile, duplicateFolderName; let uploadedFolder, uploadedFile, sourceFolder, destinationFolder, subFolder, subFolder2, copyFolder, subFile,
duplicateFolderName;
let acsUser = null, anotherAcsUser: AcsUserModel; let acsUser = null, anotherAcsUser: AcsUserModel;
let folderName, sameNameFolder; let folderName, sameNameFolder;
@@ -89,16 +90,23 @@ describe('Document List Component', () => {
} }
}); });
browser.driver.sleep(10000); browser.driver.sleep(12000);
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
uploadActions.deleteFileOrFolder(uploadedFile.entry.id); await uploadActions.deleteFileOrFolder(uploadedFile.entry.id);
uploadActions.deleteFileOrFolder(sourceFolder.entry.id); await uploadActions.deleteFileOrFolder(sourceFolder.entry.id);
uploadActions.deleteFileOrFolder(destinationFolder.entry.id); await uploadActions.deleteFileOrFolder(destinationFolder.entry.id);
} catch (error) {
// tslint:disable-next-line:no-console
console.log('Error delete file or folder' + error);
}
done(); done();
}); });
@@ -30,11 +30,12 @@ describe('Document List Component', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null; let acsUser = null;
const navBar = new NavigationBarPage(); const navBar = new NavigationBarPage();
const navigationBarPage = new NavigationBarPage();
describe('Gallery View', () => { describe('Gallery View', () => {
@@ -81,6 +82,10 @@ describe('Document List Component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async () => { beforeEach(async () => {
navBar.clickHomeButton(); navBar.clickHomeButton();
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
@@ -59,7 +59,7 @@ describe('Document List - Pagination', function () {
const folderThreeModel = new FolderModel({ 'name': 'folderThree' }); const folderThreeModel = new FolderModel({ 'name': 'folderThree' });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -85,6 +85,10 @@ describe('Document List - Pagination', function () {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach((done) => { beforeEach((done) => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
@@ -28,13 +28,15 @@ describe('Document List Component', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navBar = new NavigationBarPage(); const navBar = new NavigationBarPage();
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
const navigationBarPage = new NavigationBarPage();
let privateSite; let privateSite;
let acsUser = null; let acsUser = null;
beforeAll(() => { beforeAll(() => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
}); });
@@ -57,6 +59,7 @@ describe('Document List Component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id);
navBar.openLanguageMenu(); navBar.openLanguageMenu();
navBar.chooseLanguage('English'); navBar.chooseLanguage('English');
@@ -29,12 +29,12 @@ describe('Document List Component - Properties', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBar = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
let subFolder, parentFolder; let subFolder, parentFolder;
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null; let acsUser = null;
@@ -72,7 +72,7 @@ describe('Document List Component - Properties', () => {
}); });
it('[C299154] Should disallow upload content on a folder row if allowDropFiles is false', () => { it('[C299154] Should disallow upload content on a folder row if allowDropFiles is false', () => {
navigationBar.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
contentServicesPage.doubleClickRow(parentFolder.entry.name); contentServicesPage.doubleClickRow(parentFolder.entry.name);
contentServicesPage.disableDropFilesInAFolder(); contentServicesPage.disableDropFilesInAFolder();
@@ -88,7 +88,7 @@ describe('Document List Component - Properties', () => {
}); });
it('[C91319] Should allow upload content on a folder row if allowDropFiles is true', () => { it('[C91319] Should allow upload content on a folder row if allowDropFiles is true', () => {
navigationBar.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
contentServicesPage.doubleClickRow(parentFolder.entry.name); contentServicesPage.doubleClickRow(parentFolder.entry.name);
contentServicesPage.enableDropFilesInAFolder(); contentServicesPage.enableDropFilesInAFolder();
@@ -22,6 +22,7 @@ import resources = require('../../util/resources');
import { LoginPage, StringUtil, UploadActions } from '@alfresco/adf-testing'; import { LoginPage, StringUtil, UploadActions } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Document List Component', () => { describe('Document List Component', () => {
@@ -30,11 +31,12 @@ describe('Document List Component', () => {
let uploadedFolder, uploadedFolderExtra; let uploadedFolder, uploadedFolderExtra;
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null; let acsUser = null;
let testFileNode, pdfBFileNode; let testFileNode, pdfBFileNode;
const navigationBarPage = new NavigationBarPage();
afterEach(async (done) => { afterEach(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -92,6 +94,8 @@ describe('Document List Component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
if (filePdfNode) { if (filePdfNode) {
await uploadActions.deleteFileOrFolder(filePdfNode.entry.id); await uploadActions.deleteFileOrFolder(filePdfNode.entry.id);
+1 -1
View File
@@ -36,7 +36,7 @@ describe('Lock File', () => {
const managerUser = new AcsUserModel(); const managerUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -51,7 +51,7 @@ describe('Aspect oriented config', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
uploadActions = new UploadActions(this.alfrescoJsApi); uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -86,6 +86,10 @@ describe('Aspect oriented config', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async (done) => { afterEach(async (done) => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
@@ -57,7 +57,7 @@ describe('permissions', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -94,9 +94,9 @@ describe('permissions', () => {
done(); done();
}); });
afterAll(async (done) => { afterAll(async () => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.core.sitesApi.deleteSite(site.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(site.entry.id);
done();
}); });
it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => { it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => {
@@ -56,7 +56,7 @@ describe('CardView Component - properties', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -80,6 +80,10 @@ describe('CardView Component - properties', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(() => { afterEach(() => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
}); });
@@ -62,7 +62,7 @@ describe('Metadata component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -84,6 +84,10 @@ describe('Metadata component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Viewer Metadata', () => { describe('Viewer Metadata', () => {
beforeAll(async () => { beforeAll(async () => {
@@ -20,11 +20,13 @@ import { AcsUserModel } from '../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NotificationPage } from '../pages/adf/notificationPage'; import { NotificationPage } from '../pages/adf/notificationPage';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Notifications Component', () => { describe('Notifications Component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const notificationHistoryPage = new NotificationPage(); const notificationHistoryPage = new NotificationPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -32,7 +34,7 @@ describe('Notifications Component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -50,6 +52,10 @@ describe('Notifications Component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach( () => { afterEach( () => {
browser.executeScript(`document.querySelector('button[data-automation-id="notification-custom-dismiss-button"]').click();`); browser.executeScript(`document.querySelector('button[data-automation-id="notification-custom-dismiss-button"]').click();`);
notificationHistoryPage.enterDurationField(3000); notificationHistoryPage.enterDurationField(3000);
@@ -33,7 +33,7 @@ describe('Permissions Component', function () {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
@@ -165,6 +165,8 @@ describe('Permissions Component', function () {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await folders.forEach(function (folder) { await folders.forEach(function (folder) {
uploadActions.deleteFileOrFolder(folder.entry.id); uploadActions.deleteFileOrFolder(folder.entry.id);
@@ -285,15 +287,8 @@ describe('Permissions Component', function () {
}); });
afterEach(async (done) => { afterEach(async (done) => {
try {
await uploadActions.deleteFileOrFolder(file.entry.id); await uploadActions.deleteFileOrFolder(file.entry.id);
} catch (error) {
}
done(); done();
}); });
it('[C274691] Should be able to add a new User with permission to the file and also change locally set permissions', () => { it('[C274691] Should be able to add a new User with permission to the file and also change locally set permissions', () => {
@@ -33,7 +33,7 @@ describe('Permissions Component', function () {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
@@ -149,6 +149,8 @@ describe('Permissions Component', function () {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id);
@@ -15,7 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage, BrowserActions, LocalStorageUtil, NotificationHistoryPage, UploadActions } from '@alfresco/adf-testing'; import {
LoginPage,
BrowserActions,
LocalStorageUtil,
NotificationHistoryPage,
UploadActions
} from '@alfresco/adf-testing';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
@@ -30,7 +36,7 @@ describe('Share file', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
@@ -57,19 +63,16 @@ describe('Share file', () => {
nodeId = pngUploadedFile.entry.id; nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser); await loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.clickContentServicesButton(); await navigationBarPage.clickContentServicesButton();
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId); await uploadActions.deleteFileOrFolder(nodeId);
} catch (error) {
}
done(); done();
}); });
@@ -30,7 +30,7 @@ describe('Unshare file', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
@@ -38,6 +38,8 @@ describe('Unshare file', () => {
const navBar = new NavigationBarPage(); const navBar = new NavigationBarPage();
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
const notificationHistoryPage = new NotificationHistoryPage(); const notificationHistoryPage = new NotificationHistoryPage();
const navigationBarPage = new NavigationBarPage();
const shareDialog = new ShareDialog(); const shareDialog = new ShareDialog();
const siteName = `PRIVATE-TEST-SITE-${StringUtil.generateRandomString(5)}`; const siteName = `PRIVATE-TEST-SITE-${StringUtil.generateRandomString(5)}`;
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -101,6 +103,10 @@ describe('Unshare file', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async (done) => { afterEach(async (done) => {
await browser.refresh(); await browser.refresh();
done(); done();
@@ -149,7 +155,7 @@ describe('Unshare file', () => {
shareDialog.confirmationDialogIsDisplayed(); shareDialog.confirmationDialogIsDisplayed();
shareDialog.clickConfirmationDialogRemoveButton(); shareDialog.clickConfirmationDialogRemoveButton();
shareDialog.dialogIsClosed(); shareDialog.dialogIsClosed();
BrowserActions.getUrl(sharedLink); BrowserActions.getUrl(sharedLink.replace(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.host));
errorPage.checkErrorCode(); errorPage.checkErrorCode();
}); });
}); });
@@ -36,7 +36,7 @@ describe('Social component', () => {
const secondComponentVisitor = new AcsUserModel(); const secondComponentVisitor = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -85,6 +85,7 @@ describe('Social component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await uploadActions.deleteFileOrFolder(emptyFile.entry.id); await uploadActions.deleteFileOrFolder(emptyFile.entry.id);
done(); done();
}); });
@@ -51,7 +51,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url, hostEcm: browser.params.testConfig.adf_acs.host,
authType: 'OAUTH', authType: 'OAUTH',
oauth2: { oauth2: {
host: browser.params.testConfig.adf.hostSso, host: browser.params.testConfig.adf.hostSso,
@@ -74,7 +74,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
describe('SSO in ADF using ACS and AIS, implicit flow set', () => { describe('SSO in ADF using ACS and AIS, implicit flow set', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.testConfig.adf.url, browser.params.testConfig.adf.hostSso, 'ECM'); const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, 'ECM');
await apiService.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await apiService.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
identityService = new IdentityService(apiService); identityService = new IdentityService(apiService);
@@ -90,18 +90,18 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
silentLogin = false; silentLogin = false;
implicitFlow = true; implicitFlow = true;
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
loginSsoPage.clickOnSSOButton(); await loginSsoPage.clickOnSSOButton();
loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password); await loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password);
navigationBarPage.clickContentServicesButton(); await navigationBarPage.clickContentServicesButton();
contentServicesPage.checkAcsContainer(); await contentServicesPage.checkAcsContainer();
contentListPage.doubleClickRow(folderName); contentListPage.doubleClickRow(folderName);
contentListPage.waitForTableBody(); await contentListPage.waitForTableBody();
done(); done();
}); });
+3 -4
View File
@@ -33,7 +33,7 @@ describe('Tag component', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
@@ -82,10 +82,9 @@ describe('Tag component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
try { await navigationBarPage.clickLogoutButton();
await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id); await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id);
} catch (error) {
}
done(); done();
}); });
@@ -60,7 +60,7 @@ describe('Trashcan - Pagination', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -89,6 +89,11 @@ describe('Trashcan - Pagination', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
afterEach((done) => { afterEach((done) => {
browser.refresh(); browser.refresh();
trashcanPage.waitForTableBody(); trashcanPage.waitForTableBody();
@@ -31,7 +31,7 @@ describe('Tree View Component', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -52,10 +52,22 @@ describe('Tree View Component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { name: nodeNames.folder, nodeType: 'cm:folder' }); treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, {
secondTreeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { name: nodeNames.secondFolder, nodeType: 'cm:folder' }); name: nodeNames.folder,
thirdTreeFolder = await this.alfrescoJsApi.nodes.addNode(secondTreeFolder.entry.id, { name: nodeNames.thirdFolder, nodeType: 'cm:folder' }); nodeType: 'cm:folder'
await this.alfrescoJsApi.nodes.addNode(thirdTreeFolder.entry.id, { name: nodeNames.document, nodeType: 'cm:content' }); });
secondTreeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, {
name: nodeNames.secondFolder,
nodeType: 'cm:folder'
});
thirdTreeFolder = await this.alfrescoJsApi.nodes.addNode(secondTreeFolder.entry.id, {
name: nodeNames.thirdFolder,
nodeType: 'cm:folder'
});
await this.alfrescoJsApi.nodes.addNode(thirdTreeFolder.entry.id, {
name: nodeNames.document,
nodeType: 'cm:content'
});
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
@@ -65,13 +77,12 @@ describe('Tree View Component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
try { await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(treeFolder.entry.id); await uploadActions.deleteFileOrFolder(treeFolder.entry.id);
await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id); await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id);
} catch (error) {
}
done(); done();
}); });
@@ -24,12 +24,13 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component', () => { describe('Upload component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const uploadDialog = new UploadDialog(); const uploadDialog = new UploadDialog();
@@ -37,6 +38,7 @@ describe('Upload component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const navigationBarPage = new NavigationBarPage();
const firstPdfFileModel = new FileModel({ const firstPdfFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PDF_B.file_name, 'name': resources.Files.ADF_DOCUMENTS.PDF_B.file_name,
@@ -69,6 +71,11 @@ describe('Upload component', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => { beforeEach(() => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
}); });
@@ -29,6 +29,7 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { DropActions } from '../../actions/drop.actions'; import { DropActions } from '../../actions/drop.actions';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component - Excluded Files', () => { describe('Upload component - Excluded Files', () => {
@@ -37,6 +38,7 @@ describe('Upload component - Excluded Files', () => {
const uploadToggles = new UploadToggles(); const uploadToggles = new UploadToggles();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage();
const iniExcludedFile = new FileModel({ const iniExcludedFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.INI.file_name, 'name': resources.Files.ADF_DOCUMENTS.INI.file_name,
@@ -56,7 +58,7 @@ describe('Upload component - Excluded Files', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -72,6 +74,11 @@ describe('Upload component - Excluded Files', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
afterEach(async (done) => { afterEach(async (done) => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
+9 -1
View File
@@ -25,6 +25,7 @@ import { browser } from 'protractor';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { VersionManagePage } from '../../pages/adf/versionManagerPage'; import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component', () => { describe('Upload component', () => {
@@ -34,9 +35,11 @@ describe('Upload component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const versionManagePage = new VersionManagePage(); const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -75,6 +78,11 @@ describe('Upload component', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => { beforeEach(() => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
}); });
@@ -37,7 +37,7 @@ describe('Upload component', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
@@ -86,6 +86,11 @@ describe('Upload component', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => { beforeEach(() => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
}); });
@@ -59,7 +59,7 @@ describe('Upload - User permission', () => {
beforeAll(() => { beforeAll(() => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
}); });
@@ -98,6 +98,11 @@ describe('Upload - User permission', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
describe('Consumer permissions', () => { describe('Consumer permissions', () => {
beforeEach(async (done) => { beforeEach(async (done) => {
@@ -62,7 +62,7 @@ describe('Version component actions', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
uploadActions = new UploadActions(this.alfrescoJsApi); uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -87,6 +87,10 @@ describe('Version component actions', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C280003] Should not be possible delete a file version if there is only one version', () => { it('[C280003] Should not be possible delete a file version if there is only one version', () => {
versionManagePage.clickActionButton('1.0'); versionManagePage.clickActionButton('1.0');
expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false); expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false);
@@ -64,7 +64,7 @@ describe('Version component permissions', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const nodeActions = new NodeActions(); const nodeActions = new NodeActions();
@@ -142,6 +142,8 @@ describe('Version component permissions', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done(); done();
}); });
@@ -184,6 +186,10 @@ describe('Version component permissions', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C277197] Should a user with Consumer permission not be able to upload a new version for a file with different creator', () => { it('[C277197] Should a user with Consumer permission not be able to upload a new version for a file with different creator', () => {
contentServices.versionManagerContent(differentCreatorFile.name); contentServices.versionManagerContent(differentCreatorFile.name);
@@ -218,6 +224,8 @@ describe('Version component permissions', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done(); done();
}); });
@@ -276,6 +284,7 @@ describe('Version component permissions', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done(); done();
}); });
@@ -45,7 +45,7 @@ describe('Version Properties', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -72,6 +72,11 @@ describe('Version Properties', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
it('[C272817] Should NOT be present the download action when allowDownload property is false', () => { it('[C272817] Should NOT be present the download action when allowDownload property is false', () => {
versionManagePage.disableDownload(); versionManagePage.disableDownload();
@@ -62,7 +62,7 @@ describe('Version component', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -88,6 +88,11 @@ describe('Version component', () => {
done(); done();
}); });
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
it('[C272768] Should be visible the first file version when you upload a file', () => { it('[C272768] Should be visible the first file version when you upload a file', () => {
versionManagePage.checkUploadNewVersionsButtonIsDisplayed(); versionManagePage.checkUploadNewVersionsButtonIsDisplayed();
+5 -2
View File
@@ -25,15 +25,18 @@ describe('Auth Guard SSO', () => {
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
it('[C307058] Should be redirected to 403 when user doesn\'t have permissions', async () => { it('[C307058] Should be redirected to 403 when user doesn\'t have permissions', async () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, browser.params.testConfig.adf.hostIdentity,
false, true, browser.params.config.oauth2.clientId); false, true, browser.params.config.oauth2.clientId);
browser.driver.sleep(5000);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
BrowserActions.getUrl(browser.params.testConfig.adf.url + '/cloud/simple-app'); BrowserActions.getUrl(browser.params.testConfig.adf.url + '/cloud/simple-app');
browser.driver.sleep(1000); browser.driver.sleep(2000);
expect(errorPage.getErrorCode()).toBe('403'); expect(errorPage.getErrorCode()).toBe('403');
}); });
@@ -37,6 +37,10 @@ describe('CardView Component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(() => { afterEach(() => {
cardViewPageComponent.clickOnResetButton(); cardViewPageComponent.clickOnResetButton();
}); });
@@ -35,7 +35,7 @@ describe('Datatable component - selection', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -49,6 +49,10 @@ describe('Datatable component - selection', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => { it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => {
dataTablePage.selectRow('2'); dataTablePage.selectRow('2');
dataTableComponent.checkRowIsSelected('Id', '2'); dataTableComponent.checkRowIsSelected('Id', '2');
@@ -46,7 +46,7 @@ describe('Datatable component', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -58,6 +58,10 @@ describe('Datatable component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Datatable component', () => { describe('Datatable component', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
+7 -1
View File
@@ -19,17 +19,19 @@ import { LoginPage, ErrorPage, BrowserActions } from '@alfresco/adf-testing';
import { AcsUserModel } from '../models/ACS/acsUserModel'; import { AcsUserModel } from '../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Error Component', () => { describe('Error Component', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
const navigationBarPage = new NavigationBarPage();
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -40,6 +42,10 @@ describe('Error Component', () => {
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C277302] Should display the error 403 when access to unauthorized page - My Change', () => { it('[C277302] Should display the error 403 when access to unauthorized page - My Change', () => {
BrowserActions.getUrl(browser.params.testConfig.adf.url + '/error/403'); BrowserActions.getUrl(browser.params.testConfig.adf.url + '/error/403');
expect(errorPage.getErrorCode()).toBe('403'); expect(errorPage.getErrorCode()).toBe('403');
+2 -1
View File
@@ -49,7 +49,7 @@ describe('Header Component', () => {
beforeAll(async(done) => { beforeAll(async(done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
const users = new UsersActions(); const users = new UsersActions();
@@ -73,6 +73,7 @@ describe('Header Component', () => {
}); });
afterAll(async(done) => { afterAll(async(done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
done(); done();
+5 -1
View File
@@ -33,7 +33,7 @@ describe('Universal Icon component', function () {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -43,6 +43,10 @@ describe('Universal Icon component', function () {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => { beforeEach(async (done) => {
navigationBarPage.navigateToIconsPage(); navigationBarPage.navigateToIconsPage();
done(); done();
+5 -1
View File
@@ -55,7 +55,7 @@ describe('Enable infinite scrolling', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -82,6 +82,10 @@ describe('Enable infinite scrolling', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => { beforeEach(async (done) => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
+2 -2
View File
@@ -59,8 +59,8 @@ describe('Login component', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ALL', provider: 'ALL',
hostEcm: browser.params.testConfig.adf.url, hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -0,0 +1,43 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
describe('Login component - SSO', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
describe('SSO Login Error for login component', () => {
afterEach(async () => {
await browser.executeScript('window.sessionStorage.clear();');
await browser.executeScript('window.localStorage.clear();');
});
it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', async () => {
await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
'http://aps22/auth/realms/alfresco',
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId);
await loginSSOPage.clickOnSSOButton();
await loginSSOPage.checkLoginErrorIsDisplayed();
expect(loginSSOPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable');
});
});
});
+36 -50
View File
@@ -29,65 +29,39 @@ describe('Login component - SSO', () => {
const silentLogin = false; const silentLogin = false;
let implicitFlow; let implicitFlow;
describe('Login component - SSO implicit Flow', () => { it('[C280665] Should be possible change the logout redirect URL', async () => {
await settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
afterEach(() => {
navigationBarPage.clickLogoutButton();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
it('[C261050] Should be possible login with SSO', () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId, '/login');
loginSSOPage.clickOnSSOButton(); await loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
}); await navigationBarPage.clickLogoutButton();
it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => { browser.sleep(2000);
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, true, true, browser.params.config.oauth2.clientId);
loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
});
});
describe('SSO Login Error for login component', () => { browser.getCurrentUrl().then((actualUrl) => {
expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login');
afterEach(() => {
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
'http://aps22/auth/realms/alfresco',
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId);
loginSSOPage.clickOnSSOButton();
loginSSOPage.checkLoginErrorIsDisplayed();
expect(loginSSOPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable');
}); });
}); });
describe('Login component - SSO Grant type password (implicit flow false)', () => { describe('Login component - SSO Grant type password (implicit flow false)', () => {
it('[C299158] Should be possible to login with SSO, with grant type password (Implicit Flow false)', () => { it('[C299158] Should be possible to login with SSO, with grant type password (Implicit Flow false)', async () => {
implicitFlow = false; implicitFlow = false;
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId); browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
loginPage.waitForElements(); await loginPage.waitForElements();
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId); browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginPage.enterUsername(browser.params.testConfig.adf.adminEmail); await loginPage.enterUsername(browser.params.testConfig.adf.adminEmail);
loginPage.enterPassword(browser.params.testConfig.adf.adminPassword); await loginPage.enterPassword(browser.params.testConfig.adf.adminPassword);
loginPage.clickSignInButton(); await loginPage.clickSignInButton();
let isDisplayed = false; let isDisplayed = false;
@@ -105,17 +79,29 @@ describe('Login component - SSO', () => {
}); });
}); });
it('[C280665] Should be possible change the logout redirect URL', () => { describe('Login component - SSO implicit Flow', () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
browser.params.testConfig.adf.hostSso, afterEach(() => {
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId, '/login');
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
navigationBarPage.clickLogoutButton(); navigationBarPage.clickLogoutButton();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
browser.getCurrentUrl().then((actualUrl) => { it('[C261050] Should be possible login with SSO', async () => {
expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login'); await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId);
await loginSSOPage.clickOnSSOButton();
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
});
it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', async () => {
await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host,
browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, true, true, browser.params.config.oauth2.clientId);
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
}); });
}); });
}); });
+2 -2
View File
@@ -42,8 +42,8 @@ describe('Login component - Redirect', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url, hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const logoutPage = new LogoutPage(); const logoutPage = new LogoutPage();
@@ -30,6 +30,7 @@ import { UploadActions } from '@alfresco/adf-testing';
import { Util } from '../util/util'; import { Util } from '../util/util';
import resources = require('../util/resources'); import resources = require('../util/resources');
import { browser } from 'protractor'; import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Pagination - returns to previous page when current is empty', () => { describe('Pagination - returns to previous page when current is empty', () => {
@@ -37,6 +38,7 @@ describe('Pagination - returns to previous page when current is empty', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const paginationPage = new PaginationPage(); const paginationPage = new PaginationPage();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const folderModel = new FolderModel({ 'name': 'folderOne' }); const folderModel = new FolderModel({ 'name': 'folderOne' });
@@ -68,7 +70,7 @@ describe('Pagination - returns to previous page when current is empty', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -101,6 +103,10 @@ describe('Pagination - returns to previous page when current is empty', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C274710] Should redirect to previous page when current is emptied', () => { it('[C274710] Should redirect to previous page when current is emptied', () => {
contentServicesPage.doubleClickRow(folderModel.name); contentServicesPage.doubleClickRow(folderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
+10 -10
View File
@@ -56,8 +56,8 @@ describe('Settings component', () => {
loginPage.waitForElements(); loginPage.waitForElements();
settingsPage.goToSettingsPage(); settingsPage.goToSettingsPage();
expect(settingsPage.getSelectedOptionText()).toEqual('ALL', 'The Settings changes are not saved'); expect(settingsPage.getSelectedOptionText()).toEqual('ALL', 'The Settings changes are not saved');
expect(settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.adf.url, 'The BPM Settings changes are not saved'); expect(settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.adf_aps.host, 'The BPM Settings changes are not saved');
expect(settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.adf.url, 'The ECM Settings changes are not saved'); expect(settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.adf_acs.host, 'The ECM Settings changes are not saved');
}); });
@@ -104,8 +104,8 @@ describe('Settings component', () => {
beforeAll( (done) => { beforeAll( (done) => {
settingsPage.goToSettingsPage(); settingsPage.goToSettingsPage();
settingsPage.setProvider(settingsPage.getEcmAndBpmOption(), 'ALL'); settingsPage.setProvider(settingsPage.getEcmAndBpmOption(), 'ALL');
settingsPage.setContentServicesURL(browser.params.testConfig.adf.url); settingsPage.setContentServicesURL(browser.params.testConfig.adf_acs.host);
settingsPage.setProcessServicesURL(browser.params.testConfig.adf.url); settingsPage.setProcessServicesURL(browser.params.testConfig.adf_aps.host);
settingsPage.clickApply(); settingsPage.clickApply();
done(); done();
}); });
@@ -121,8 +121,8 @@ describe('Settings component', () => {
settingsPage.checkProviderOptions(); settingsPage.checkProviderOptions();
settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected(); settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
loginPage.goToLoginPage(); loginPage.goToLoginPage();
@@ -145,7 +145,7 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('BPM'); expect(settingsPage.getSelectedOptionText()).toBe('BPM');
settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected(); settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton(); settingsPage.clickBackButton();
@@ -172,7 +172,7 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('ECM'); expect(settingsPage.getSelectedOptionText()).toBe('ECM');
settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected(); settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton(); settingsPage.clickBackButton();
@@ -201,8 +201,8 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('ALL'); expect(settingsPage.getSelectedOptionText()).toBe('ALL');
settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected(); settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton(); settingsPage.clickBackButton();
+9 -2
View File
@@ -28,12 +28,15 @@ import resources = require('../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../actions/users.actions'; import { UsersActions } from '../actions/users.actions';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('User Info component', () => { describe('User Info component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const userInfoPage = new UserInfoPage(); const userInfoPage = new UserInfoPage();
let processUserModel, contentUserModel; let processUserModel, contentUserModel;
const navigationBarPage = new NavigationBarPage();
const acsAvatarFileModel = new FileModel({ const acsAvatarFileModel = new FileModel({
'name': resources.Files.PROFILE_IMAGES.ECM.file_name, 'name': resources.Files.PROFILE_IMAGES.ECM.file_name,
'location': resources.Files.PROFILE_IMAGES.ECM.file_location 'location': resources.Files.PROFILE_IMAGES.ECM.file_location
@@ -48,8 +51,8 @@ describe('User Info component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ALL', provider: 'ALL',
hostEcm: browser.params.testConfig.adf.url, hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -69,6 +72,10 @@ describe('User Info component', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C260111] Should display UserInfo when Process Services and Content Services are enabled', async () => { it('[C260111] Should display UserInfo when Process Services and Content Services are enabled', async () => {
await loginPage.loginToAllUsingUserModel(contentUserModel); await loginPage.loginToAllUsingUserModel(contentUserModel);
@@ -25,17 +25,20 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel'; import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
let site; let site;
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -64,6 +67,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Archive Folder Uploaded', () => { describe('Archive Folder Uploaded', () => {
let uploadedArchives; let uploadedArchives;
let archiveFolderUploaded; let archiveFolderUploaded;
@@ -30,12 +30,13 @@ import { NavigationBarPage } from '../../..//pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const navigationBarPage = new NavigationBarPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -72,6 +73,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C272813] Should be redirected to site when opening and closing a file in a site', async () => { it('[C272813] Should be redirected to site when opening and closing a file in a site', async () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser); await loginPage.loginToContentServicesUsingUserModel(acsUser);
@@ -24,12 +24,15 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel'; import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
let site; let site;
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -39,7 +42,7 @@ describe('Viewer', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -61,6 +64,11 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Excel Folder Uploaded', () => { describe('Excel Folder Uploaded', () => {
let uploadedExcels; let uploadedExcels;
@@ -92,7 +100,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
} }
}); });
}); }, 5 * 60 * 1000);
}); });
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel'; import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -67,6 +70,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Image Folder Uploaded', () => { describe('Image Folder Uploaded', () => {
let uploadedImages, uploadedImgRenditionFolderInfo; let uploadedImages, uploadedImgRenditionFolderInfo;
@@ -112,7 +119,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
} }
}); });
}); }, 5 * 60 * 1000);
}); });
@@ -24,15 +24,18 @@ import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -63,6 +66,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('PowerPoint Folder Uploaded', () => { describe('PowerPoint Folder Uploaded', () => {
let uploadedPpt; let uploadedPpt;
@@ -94,7 +101,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
} }
}); });
}); }, 5 * 60 * 1000);
}); });
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel'; import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -62,6 +65,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Text Folder Uploaded', () => { describe('Text Folder Uploaded', () => {
let uploadedTexts; let uploadedTexts;
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel'; import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -62,6 +65,10 @@ describe('Viewer', () => {
done(); done();
}); });
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Word Folder Uploaded', () => { describe('Word Folder Uploaded', () => {
let uploadedWords; let uploadedWords;
+5 -1
View File
@@ -34,7 +34,7 @@ describe('Info Drawer', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -79,6 +79,10 @@ describe('Info Drawer', () => {
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
}); });
afterEach(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C277251] Should display the icon when the icon property is defined', () => { it('[C277251] Should display the icon when the icon property is defined', () => {
viewerPage.viewFile(pngFileUploaded.entry.name); viewerPage.viewFile(pngFileUploaded.entry.name);
viewerPage.clickLeftSidebarButton(); viewerPage.clickLeftSidebarButton();
@@ -24,12 +24,15 @@ import resources = require('../../util/resources');
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Content Services Viewer', () => { describe('Content Services Viewer', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
let zoom; let zoom;
const pdfFile = new FileModel({ const pdfFile = new FileModel({
@@ -70,7 +73,7 @@ describe('Content Services Viewer', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -111,7 +114,6 @@ describe('Content Services Viewer', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(pdfFile.getId()); await uploadActions.deleteFileOrFolder(pdfFile.getId());
await uploadActions.deleteFileOrFolder(protectedFile.getId()); await uploadActions.deleteFileOrFolder(protectedFile.getId());
await uploadActions.deleteFileOrFolder(docxFile.getId()); await uploadActions.deleteFileOrFolder(docxFile.getId());
@@ -119,6 +121,7 @@ describe('Content Services Viewer', () => {
await uploadActions.deleteFileOrFolder(mp4File.getId()); await uploadActions.deleteFileOrFolder(mp4File.getId());
await uploadActions.deleteFileOrFolder(pptFile.getId()); await uploadActions.deleteFileOrFolder(pptFile.getId());
await uploadActions.deleteFileOrFolder(unsupportedFile.getId()); await uploadActions.deleteFileOrFolder(unsupportedFile.getId());
await navigationBarPage.clickLogoutButton();
done(); done();
}); });
@@ -23,15 +23,17 @@ import resources = require('../../util/resources');
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Viewer', () => { describe('Viewer', () => {
const navigationBarPage = new NavigationBarPage();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -57,6 +59,7 @@ describe('Viewer', () => {
afterAll(async (done) => { afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(txtFileUploaded.entry.id); await uploadActions.deleteFileOrFolder(txtFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done(); done();
}); });
+2 -1
View File
@@ -35,7 +35,7 @@ describe('Viewer', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -75,6 +75,7 @@ describe('Viewer', () => {
afterAll(async (done) => { afterAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await uploadActions.deleteFileOrFolder(jsFileUploaded.entry.id); await uploadActions.deleteFileOrFolder(jsFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done(); done();
}); });
+2 -1
View File
@@ -45,7 +45,7 @@ describe('Viewer - properties', () => {
}); });
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -78,6 +78,7 @@ describe('Viewer - properties', () => {
afterAll(async (done) => { afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(pngFile.getId()); await uploadActions.deleteFileOrFolder(pngFile.getId());
await navigationBarPage.clickLogoutButton();
done(); done();
}); });
+2 -1
View File
@@ -35,7 +35,7 @@ describe('Viewer', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url hostEcm: browser.params.testConfig.adf_acs.host
}); });
const uploadActions = new UploadActions(this.alfrescoJsApi); const uploadActions = new UploadActions(this.alfrescoJsApi);
let site; let site;
@@ -86,6 +86,7 @@ describe('Viewer', () => {
afterAll(async (done) => { afterAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await uploadActions.deleteFileOrFolder(wordFileUploaded.entry.id); await uploadActions.deleteFileOrFolder(wordFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done(); done();
}); });
+1 -1
View File
@@ -39,7 +39,7 @@ describe('Analytics Smoke Test', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
+1 -21
View File
@@ -1,9 +1,3 @@
var PROXY_HOST_ADF = process.env.PROXY_HOST_ADF;
var HOST = process.env.URL_HOST_ADF;
let proxy = require('http-proxy-middleware');
let targetProxy = (PROXY_HOST_ADF || HOST);
let fallback = require('connect-history-api-fallback'); let fallback = require('connect-history-api-fallback');
module.exports = { module.exports = {
@@ -12,21 +6,7 @@ module.exports = {
open: false, open: false,
server: { server: {
middleware: { middleware: {
1: proxy('/alfresco', { 1: fallback({index: '/index.html', verbose: true})
"target": targetProxy,
changeOrigin: true,
pathRewrite: {
"^/alfresco/alfresco": ""
}
}),
2: proxy('/activiti-app', {
"target": targetProxy,
changeOrigin: true,
"pathRewrite": {
"^/activiti-app/activiti-app": ""
}
}),
3: fallback({index: '/index.html', verbose: true})
} }
} }
}; };
@@ -68,7 +68,6 @@ export class ProcessCloudDemoPage {
} }
getActiveFilterName() { getActiveFilterName() {
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return BrowserActions.getText(this.activeFilter); return BrowserActions.getText(this.activeFilter);
} }
@@ -100,7 +100,7 @@ export class TasksCloudDemoPage {
openNewTaskForm() { openNewTaskForm() {
BrowserActions.click(this.createButton); BrowserActions.click(this.createButton);
BrowserActions.click(this.newTaskButton); BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]');
return this; return this;
} }
+1 -1
View File
@@ -135,7 +135,7 @@ export class NavigationBarPage {
async clickLogoutButton() { async clickLogoutButton() {
BrowserActions.closeMenuAndDialogs(); BrowserActions.closeMenuAndDialogs();
BrowserActions.click(this.logoutButton); BrowserActions.clickExecuteScript('.adf-sidenav-link[adf-logout]');
} }
async clickCardViewButton() { async clickCardViewButton() {
@@ -43,7 +43,7 @@ describe('Applications list', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await apiService.login(testUser.email, testUser.password); await apiService.login(testUser.email, testUser.password);
applicationsService = new ApplicationsService(apiService); applicationsService = new ApplicationsService(apiService);
applications = await applicationsService.getApplicationsByStatus('RUNNING'); applications = await applicationsService.getApplicationsByStatus('RUNNING');
@@ -51,7 +51,7 @@ describe('Edit process filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -95,6 +95,8 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
@@ -114,6 +116,9 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -121,9 +126,15 @@ describe('Edit process filters cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton().setFilterName('New').clickOnSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter(); processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -137,6 +148,9 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -144,6 +158,9 @@ describe('Edit process filters cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
@@ -156,10 +173,17 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed(); processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed();
}); });
@@ -57,7 +57,7 @@ describe('Edit task filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -119,6 +119,7 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
@@ -139,18 +140,22 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter(); tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); browser.driver.sleep(1000);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
@@ -162,12 +167,16 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed(); tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
@@ -179,10 +188,16 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed(); tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed(); tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed();
}); });
@@ -82,7 +82,7 @@ describe('Form Field Component - Dropdown Widget', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -15,24 +15,24 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage, Widget } from '@alfresco/adf-testing'; import { LoginSSOPage, SettingsPage, Widget } from '@alfresco/adf-testing';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { UsersActions } from '../../actions/users.actions';
import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage';
import { checkboxVisibilityForm } from '../../resources/forms/checkbox-visibility-condition'; import { checkboxVisibilityForm } from '../../resources/forms/checkbox-visibility-condition';
describe('Visibility conditions - cloud', () => { describe('Visibility conditions - cloud', () => {
const loginPage = new LoginPage(); const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const formCloudDemoPage = new FormCloudDemoPage(); const formCloudDemoPage = new FormCloudDemoPage();
const checkboxVisibilityFormJson = JSON.parse(checkboxVisibilityForm); const checkboxVisibilityFormJson = JSON.parse(checkboxVisibilityForm);
const widget = new Widget(); const widget = new Widget();
let tenantId, user;
let visibleCheckbox; let visibleCheckbox;
const widgets = { const widgets = {
@@ -57,20 +57,14 @@ describe('Visibility conditions - cloud', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
const users = new UsersActions(); await settingsPage.setProviderBpmSso(
browser.params.config.bpmHost,
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); browser.params.config.oauth2.host,
browser.params.config.identityHost);
user = await users.createTenantAndUser(this.alfrescoJsApi); await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
tenantId = user.tenantId;
await this.alfrescoJsApi.login(user.email, user.password);
await loginPage.loginToProcessServicesUsingUserModel(user);
navigationBarPage.clickFormCloudButton(); navigationBarPage.clickFormCloudButton();
@@ -79,12 +73,6 @@ describe('Visibility conditions - cloud', () => {
done(); done();
}); });
afterAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
done();
});
it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', () => { it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', () => {
widget.textWidget().isWidgetVisible(widgets.textOneId); widget.textWidget().isWidgetVisible(widgets.textOneId);
@@ -91,7 +91,7 @@ describe('People Groups Cloud Component', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -86,7 +86,7 @@ describe('People Groups Cloud Component', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -102,6 +102,7 @@ describe('People Groups Cloud Component', () => {
await identityService.deleteIdentityUser(testUser.idIdentityService); await identityService.deleteIdentityUser(testUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService); await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(activitiUser.idIdentityService); await identityService.deleteIdentityUser(activitiUser.idIdentityService);
}); });
beforeEach(() => { beforeEach(() => {
@@ -109,7 +109,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile));
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done(); done();
@@ -126,7 +126,7 @@ describe('Process filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile));
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done(); done();
@@ -87,7 +87,7 @@ describe('Process filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}, 5 * 60 * 1000); }, 5 * 60 * 1000);
@@ -100,7 +100,7 @@ describe('Process Header cloud component', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -72,7 +72,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -71,7 +71,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -36,7 +36,6 @@ describe('Start Process', () => {
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
); );
const processDefinitionWithoutName = 'process-';
const processName = StringUtil.generateRandomString(10); const processName = StringUtil.generateRandomString(10);
const processName255Characters = StringUtil.generateRandomString(255); const processName255Characters = StringUtil.generateRandomString(255);
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256); const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
@@ -58,7 +57,7 @@ describe('Start Process', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
@@ -109,7 +108,6 @@ describe('Start Process', () => {
startProcessPage.enterProcessName(processName); startProcessPage.enterProcessName(processName);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
startProcessPage.clickStartProcessButton(); startProcessPage.clickStartProcessButton();
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
@@ -117,14 +115,4 @@ describe('Start Process', () => {
}); });
it('[C309875] Should display the processId when Process Definition has process name missing', async () => {
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
startProcessPage.enterProcessName(processName);
startProcessPage.selectFromProcessDropdown(processDefinitionWithoutName);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
});
}); });
@@ -83,7 +83,8 @@ describe('Start Task Form', () => {
let testUser, acsUser, groupInfo; let testUser, acsUser, groupInfo;
let processDefinitionService: ProcessDefinitionsService; let processDefinitionService: ProcessDefinitionsService;
let processInstancesService: ProcessInstancesService; let processInstancesService: ProcessInstancesService;
let processDefinition, uploadLocalFileProcess, uploadContentFileProcess, uploadDefaultFileProcess, cancelUploadFileProcess, completeUploadFileProcess; let processDefinition, uploadLocalFileProcess, uploadContentFileProcess, uploadDefaultFileProcess,
cancelUploadFileProcess, completeUploadFileProcess;
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name; const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
const pdfFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); const pdfFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
const pdfFileModel = new FileModel({ const pdfFileModel = new FileModel({
@@ -163,13 +164,12 @@ describe('Start Task Form', () => {
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost, browser.params.config.identityHost,
browser.params.config.oauth2.clientId); browser.params.config.oauth2.clientId);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-cloud-start-process', JSON.stringify(startProcessCloudConfig)); await LocalStorageUtil.setConfigField('adf-cloud-start-process', JSON.stringify(startProcessCloudConfig));
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
await apiService.login(testUser.email, testUser.password); await apiService.login(testUser.email, testUser.password);
@@ -177,8 +177,6 @@ describe('Start Task Form', () => {
const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp); const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp);
await tasksService.deleteTask(standAloneTaskId, candidateBaseApp); await tasksService.deleteTask(standAloneTaskId, candidateBaseApp);
await identityService.deleteIdentityUser(testUser.idIdentityService); await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
done(); done();
}); });
@@ -19,8 +19,17 @@ import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { import {
LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage, LoginSSOPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService AppListCloudPage,
StringUtil,
TaskHeaderCloudPage,
StartTasksCloudPage,
PeopleCloudComponentPage,
TasksService,
ApiService,
IdentityService,
SettingsPage,
GroupIdentityService
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
@@ -70,12 +79,11 @@ describe('Start Task', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
try {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
const tasksService = new TasksService(apiService); const tasksService = new TasksService(apiService);
@@ -89,8 +97,6 @@ describe('Start Task', () => {
await identityService.deleteIdentityUser(activitiUser.idIdentityService); await identityService.deleteIdentityUser(activitiUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService); await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService); await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
done(); done();
}); });
@@ -19,8 +19,17 @@ import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { import {
LoginSSOPage, AppListCloudPage, StringUtil, GroupCloudComponentPage, LoginSSOPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService AppListCloudPage,
StringUtil,
GroupCloudComponentPage,
StartTasksCloudPage,
PeopleCloudComponentPage,
TasksService,
ApiService,
IdentityService,
SettingsPage,
GroupIdentityService, RolesService
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
@@ -57,6 +66,11 @@ describe('Start Task - Group Cloud Component', () => {
hrGroup = await groupIdentityService.getGroupInfoByGroupName('hr'); hrGroup = await groupIdentityService.getGroupInfoByGroupName('hr');
testGroup = await groupIdentityService.getGroupInfoByGroupName('testgroup'); testGroup = await groupIdentityService.getGroupInfoByGroupName('testgroup');
const rolesService = new RolesService(apiService);
const apsAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.ROLES.APS_USER);
await groupIdentityService.assignRole(testGroup.id, apsAdminRoleId, identityService.ROLES.APS_USER);
await identityService.addUserToGroup(testUser.idIdentityService, testGroup.id); await identityService.addUserToGroup(testUser.idIdentityService, testGroup.id);
await identityService.addUserToGroup(apsUser.idIdentityService, hrGroup.id); await identityService.addUserToGroup(apsUser.idIdentityService, hrGroup.id);
@@ -64,12 +78,12 @@ describe('Start Task - Group Cloud Component', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
try { await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await apiService.login(testUser.email, testUser.password);
const tasksService = new TasksService(apiService); const tasksService = new TasksService(apiService);
const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp); const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp);
@@ -80,13 +94,12 @@ describe('Start Task - Group Cloud Component', () => {
await identityService.deleteIdentityUser(apsUser.idIdentityService); await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService); await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
done(); done();
}); });
beforeEach(() => { beforeEach(async () => {
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp); appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -100,10 +113,11 @@ describe('Start Task - Group Cloud Component', () => {
navigationBarPage.clickLogoutButton(); navigationBarPage.clickLogoutButton();
}); });
it('[C291954] Should be able to select/delete an group for a standalone task', () => { it('[C291954] Should be able to select/delete an group for a standalone task', async () => {
peopleCloudComponent.clearAssignee(); peopleCloudComponent.clearAssignee();
groupCloud.searchGroups(testGroup.name); groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name); groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name); groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name); groupCloud.checkSelectedGroup(testGroup.name);
@@ -120,7 +134,7 @@ describe('Start Task - Group Cloud Component', () => {
startTask.clickStartButton(); startTask.clickStartButton();
navigationBarPage.clickLogoutButton(); navigationBarPage.clickLogoutButton();
loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp); appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -136,7 +150,7 @@ describe('Start Task - Group Cloud Component', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName);
}); });
it('[C291955] Should be able to select multiple groups when the selection mode=multiple', () => { it('[C291955] Should be able to select multiple groups when the selection mode=multiple', async () => {
peopleCloudComponent.clearAssignee(); peopleCloudComponent.clearAssignee();
groupCloud.searchGroups(testGroup.name); groupCloud.searchGroups(testGroup.name);
@@ -153,7 +167,7 @@ describe('Start Task - Group Cloud Component', () => {
startTask.clickStartButton(); startTask.clickStartButton();
navigationBarPage.clickLogoutButton(); navigationBarPage.clickLogoutButton();
loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp); appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -52,7 +52,7 @@ describe('Task filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -15,20 +15,19 @@
* limitations under the License. * limitations under the License.
*/ */
import { browser } from 'protractor'; import { browser, protractor } from 'protractor';
import { import {
AppListCloudPage, AppListCloudPage,
StringUtil, StringUtil,
ApiService, ApiService,
LoginSSOPage, LoginSSOPage,
TasksService, TasksService,
QueryService,
ProcessDefinitionsService, ProcessDefinitionsService,
ProcessInstancesService, ProcessInstancesService,
SettingsPage, SettingsPage,
TaskHeaderCloudPage, TaskHeaderCloudPage,
TaskFormCloudComponent, TaskFormCloudComponent,
Widget Widget, IdentityService
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -50,21 +49,24 @@ describe('Task form cloud component', () => {
let tasksService: TasksService; let tasksService: TasksService;
let processDefinitionService: ProcessDefinitionsService; let processDefinitionService: ProcessDefinitionsService;
let processInstancesService: ProcessInstancesService; let processInstancesService: ProcessInstancesService;
let queryService: QueryService; let identityService: IdentityService;
let completedTask, createdTask, assigneeTask, toBeCompletedTask, completedProcess, claimedTask, formValidationsTask; let completedTask, createdTask, assigneeTask, toBeCompletedTask, formValidationsTask, testUser;
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name; const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString(); const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
beforeAll(async (done) => { beforeAll(async (done) => {
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers); const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password); await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]);
await apiService.login(testUser.email, testUser.password);
tasksService = new TasksService(apiService); tasksService = new TasksService(apiService);
queryService = new QueryService(apiService);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp); await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp);
formValidationsTask = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(), candidateBaseApp, formToTestValidationsKey); formValidationsTask = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(), candidateBaseApp, formToTestValidationsKey);
@@ -78,29 +80,38 @@ describe('Task form cloud component', () => {
await tasksService.createAndCompleteTask(completedTaskName, candidateBaseApp); await tasksService.createAndCompleteTask(completedTaskName, candidateBaseApp);
processDefinitionService = new ProcessDefinitionsService(apiService); processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService const processDefinition = await processDefinitionService
.getProcessDefinitionByName(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.processes.candidateUserProcess, candidateBaseApp); .getProcessDefinitionByName(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.processes.candidateUserProcess, candidateBaseApp);
processInstancesService = new ProcessInstancesService(apiService); processInstancesService = new ProcessInstancesService(apiService);
completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp); await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
await browser.driver.sleep(4000); // eventual consistency query
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
await settingsPage.setProviderBpmSso( await settingsPage.setProviderBpmSso(
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}, 5 * 60 * 1000); }, 5 * 60 * 1000);
afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await identityService.deleteIdentityUser(testUser.id);
} catch (error) {
}
await this.alfrescoJsApi.logout();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
done();
});
it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => { it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => {
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp); appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
expect(taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE'); expect(taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE');
@@ -110,7 +121,7 @@ describe('Task form cloud component', () => {
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp); appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
taskFormCloudComponent.checkFormIsNotDisplayed(); taskFormCloudComponent.checkFormIsNotDisplayed();
@@ -124,7 +135,7 @@ describe('Task form cloud component', () => {
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp); appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name);
taskFormCloudComponent.checkFormIsDisplayed(); taskFormCloudComponent.checkFormIsDisplayed();
@@ -139,11 +150,11 @@ describe('Task form cloud component', () => {
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true); expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
widget.dateWidget().setDateInput('Date0m1moq', 'invalid date'); widget.dateWidget().setDateInput('Date0m1moq', 'invalid date');
widget.dateWidget().clickOutsideWidget('Date0m1moq'); await browser.actions().sendKeys(protractor.Key.ENTER).perform();
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false); expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
widget.dateWidget().setDateInput('Date0m1moq', '20-10-2018'); widget.dateWidget().setDateInput('Date0m1moq', '20-10-2018');
widget.dateWidget().clickOutsideWidget('Date0m1moq'); await browser.actions().sendKeys(protractor.Key.ENTER).perform();
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true); expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
widget.numberWidget().setFieldValue('Number0klykr', 'invalid number'); widget.numberWidget().setFieldValue('Number0klykr', 'invalid number');
@@ -169,8 +180,8 @@ describe('Task form cloud component', () => {
done(); done();
}); });
it('[C307093] Complete button is not displayed when the task is already completed', () => { it('[C307093] Complete button is not displayed when the task is already completed', async () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
@@ -178,10 +189,12 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
it('[C307095] Task can not be completed by owner user', () => { it('[C307095] Task can not be completed by owner user', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CREATED'); await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
browser.driver.sleep(1000);
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(createdTask.entry.name);
@@ -189,8 +202,8 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
it('[C307110] Task list is displayed after clicking on Cancel button', () => { it('[C307110] Task list is displayed after clicking on Cancel button', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
@@ -202,8 +215,8 @@ describe('Task form cloud component', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
}); });
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', () => { it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
@@ -212,7 +225,7 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton(); taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
@@ -221,14 +234,14 @@ describe('Task form cloud component', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(claimedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton(); taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(claimedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
}); });
@@ -90,7 +90,7 @@ describe('Task Header cloud component', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -68,21 +68,25 @@ describe('Edit task filters and task list properties', () => {
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
await apiService.login(testUser.email, testUser.password); await apiService.login(testUser.email, testUser.password);
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp); await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(createdTask.entry.id, simpleApp); await tasksService.claimTask(createdTask.entry.id, simpleApp);
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, { priority: priority }); priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, { priority: priority });
await tasksService.claimTask(priorityTask.entry.id, simpleApp); await tasksService.claimTask(priorityTask.entry.id, simpleApp);
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
await tasksService.claimTask(notDisplayedTask.entry.id, candidateBaseApp); await tasksService.claimTask(notDisplayedTask.entry.id, candidateBaseApp);
processDefinitionService = new ProcessDefinitionsService(apiService); processDefinitionService = new ProcessDefinitionsService(apiService);
processDefinition = await processDefinitionService processDefinition = await processDefinitionService
.getProcessDefinitionByName(resources.ACTIVITI7_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp); .getProcessDefinitionByName(resources.ACTIVITI7_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp);
processInstancesService = new ProcessInstancesService(apiService); processInstancesService = new ProcessInstancesService(apiService);
processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp); processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
@@ -96,7 +100,7 @@ describe('Edit task filters and task list properties', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({ await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
'filterProperties': [ 'filterProperties': [
@@ -219,10 +223,11 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id) tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id)
.setStatusFilterDropDown('ALL').clearAssignee(); .setStatusFilterDropDown('ALL').clearAssignee();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); browser.sleep(1000);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
}); });
@@ -68,7 +68,7 @@ describe('Task list cloud - selection', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}); });
@@ -103,7 +103,7 @@ describe('Task filters cloud', () => {
browser.params.config.bpmHost, browser.params.config.bpmHost,
browser.params.config.oauth2.host, browser.params.config.oauth2.host,
browser.params.config.identityHost); browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done(); done();
}, 5 * 60 * 1000 ); }, 5 * 60 * 1000 );
+1 -1
View File
@@ -46,7 +46,7 @@ describe('Modify applications', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -51,7 +51,7 @@ describe('Start Task - Task App', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -70,7 +70,7 @@ describe('Start Task - Task App', () => {
afterAll(async (done) => { afterAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -54,7 +54,7 @@ describe('Attach Form Component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
const users = new UsersActions(); const users = new UsersActions();
@@ -80,12 +80,9 @@ describe('Attach Form Component', () => {
}); });
afterAll(async (done) => { afterAll(async (done) => {
try {
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId); await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
} catch (error) {
}
done(); done();
}); });
@@ -53,7 +53,7 @@ describe('Checklist component', () => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -40,7 +40,7 @@ describe('Comment component for Processes', () => {
beforeAll(async(done) => { beforeAll(async(done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM', provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url hostBpm: browser.params.testConfig.adf_aps.host
}); });
const apps = new AppsActions(); const apps = new AppsActions();

Some files were not shown because too many files have changed in this diff Show More