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 viewerPage = new ViewerPage();
const commentsPage = new CommentsPage();
const navigationBar = new NavigationBarPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel();
let userFullName, nodeId;
@@ -44,7 +44,7 @@ describe('Comment Component', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -61,15 +61,17 @@ describe('Comment Component', () => {
};
beforeAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
done();
});
beforeEach(async (done) => {
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-');
@@ -80,19 +82,15 @@ describe('Comment Component', () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBar.clickContentServicesButton();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done();
});
afterEach(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId);
} catch (error) {
}
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId);
done();
});
@@ -190,7 +188,7 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBar.clickContentServicesButton();
navigationBarPage.clickContentServicesButton();
done();
});
@@ -202,7 +200,7 @@ describe('Comment Component', () => {
});
it('[C290147] Should NOT be able to add comments to a site file with Consumer permissions', () => {
navigationBar.goToSite(site);
navigationBarPage.goToSite(site);
contentServicesPage.checkAcsContainer();
viewerPage.viewFile(pngUploadedFile.entry.name);
@@ -22,6 +22,7 @@ import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser, Key } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Create folder directive', function () {
@@ -31,11 +32,12 @@ describe('Create folder directive', function () {
const notificationHistoryPage = new NotificationHistoryPage();
const metadataViewPage = new MetadataViewPage();
const acsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage();
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -49,6 +51,10 @@ describe('Create folder directive', function () {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => {
await browser.actions().sendKeys(Key.ESCAPE).perform();
done();
@@ -24,6 +24,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { browser } from 'protractor';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Create library directive', function () {
@@ -31,6 +32,7 @@ describe('Create library directive', function () {
const contentServicesPage = new ContentServicesPage();
const createLibraryDialog = new CreateLibraryDialog();
const customSourcesPage = new CustomSources();
const navigationBarPage = new NavigationBarPage();
const visibility = {
public: 'Public',
@@ -45,7 +47,7 @@ describe('Create library directive', function () {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -62,6 +64,10 @@ describe('Create library directive', function () {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach((done) => {
contentServicesPage.goToDocumentList();
contentServicesPage.openCreateLibraryDialog();
@@ -61,7 +61,7 @@ describe('Version component actions', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -88,6 +88,10 @@ describe('Version component actions', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async () => {
BrowserVisibility.waitUntilDialogIsClose();
});
@@ -34,9 +34,10 @@ describe('Edit folder directive', function () {
const anotherAcsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage();
const notificationHistoryPage = new NotificationHistoryPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const pdfFile = new FileModel({
@@ -77,6 +78,7 @@ describe('Edit folder directive', function () {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(editFolder.entry.id);
await uploadActions.deleteFileOrFolder(anotherFolder.entry.id);
@@ -37,9 +37,10 @@ describe('Favorite directive', function () {
const trashcanPage = new TrashcanPage();
const contentListPage = contentServicesPage.getDocumentList();
const contentNodeSelector = new ContentNodeSelectorDialogPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const pdfFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PDF.file_name,
@@ -66,6 +67,7 @@ describe('Favorite directive', function () {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(testFolder1.entry.id);
await uploadActions.deleteFileOrFolder(testFolder2.entry.id);
@@ -40,7 +40,7 @@ describe('Restore content directive', function () {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const pdfFileModel = new FileModel({
@@ -61,7 +61,8 @@ describe('Restore content directive', function () {
const folderName = StringUtil.generateRandomString(5);
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) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -81,12 +82,13 @@ describe('Restore content directive', function () {
done();
});
afterAll(async (done) => {
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(folderWithContent.entry.id);
await uploadActions.deleteFileOrFolder(folderWithFolder.entry.id);
await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
done();
});
beforeEach(async (done) => {
@@ -241,92 +243,92 @@ describe('Restore content directive', function () {
describe('Restore deleted library', () => {
beforeAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
const publicSiteName = `00${StringUtil.generateRandomString(5)}`;
const publicSiteBody = {visibility: 'PUBLIC', title: publicSiteName};
publicSite = await this.alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
siteFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), publicSite.entry.guid);
siteFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, siteFolder.entry.id);
await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
done();
beforeAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
const publicSiteName = `00${StringUtil.generateRandomString(5)}`;
const publicSiteBody = { visibility: 'PUBLIC', title: publicSiteName };
publicSite = await this.alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
siteFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), publicSite.entry.guid);
siteFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, siteFolder.entry.id);
await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
done();
});
it('[C260241] Should restore the deleted library along with contents inside', async () => {
navigationBarPage.clickTrashcanButton();
trashcanPage.waitForTableBody();
trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(publicSite.entry.id);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(publicSite.entry.id);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id);
trashcanPage.clickRestore();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.selectSite(publicSite.entry.title);
contentServicesPage.waitForTableBody();
contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name);
contentServicesPage.doubleClickRow(siteFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(siteFile.entry.name);
notificationHistoryPage.checkNotifyContains(publicSite.entry.id + ' item restored');
});
});
it('[C260241] Should restore the deleted library along with contents inside', async () => {
navigationBarPage.clickTrashcanButton();
trashcanPage.waitForTableBody();
trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(publicSite.entry.id);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(publicSite.entry.id);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id);
trashcanPage.clickRestore();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.selectSite(publicSite.entry.title);
contentServicesPage.waitForTableBody();
contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name);
contentServicesPage.doubleClickRow(siteFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(siteFile.entry.name);
notificationHistoryPage.checkNotifyContains(publicSite.entry.id + ' item restored');
});
});
describe('Restore with folder hierarchies', () => {
let parentFolder, folderWithin, pdfFile, pngFile, mainFile, mainFolder;
let parentFolder, folderWithin, pdfFile, pngFile, mainFile, mainFolder;
beforeAll(async (done) => {
await this.alfrescoJsApi.login(anotherAcsUser.id, anotherAcsUser.password);
await uploadActions.createFolder(folderName, '-my-');
parentFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-');
folderWithin = await uploadActions.createFolder(StringUtil.generateRandomString(5), parentFolder.entry.id);
pdfFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, folderWithin.entry.id);
pngFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, folderWithin.entry.id);
mainFile = await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-');
mainFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-');
beforeAll(async (done) => {
await this.alfrescoJsApi.login(anotherAcsUser.id, anotherAcsUser.password);
await uploadActions.createFolder(folderName, '-my-');
parentFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-');
folderWithin = await uploadActions.createFolder(StringUtil.generateRandomString(5), parentFolder.entry.id);
pdfFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, folderWithin.entry.id);
pngFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, folderWithin.entry.id);
mainFile = await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-');
mainFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-');
await loginPage.loginToContentServicesUsingUserModel(anotherAcsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.waitForTableBody();
done();
await loginPage.loginToContentServicesUsingUserModel(anotherAcsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.waitForTableBody();
done();
});
afterAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(parentFolder.entry.id);
await uploadActions.deleteFileOrFolder(mainFolder.entry.id);
await uploadActions.deleteFileOrFolder(mainFile.entry.id);
done();
});
it('[C216431] Should restore hierarchy of folders', async () => {
contentServicesPage.deleteContent(parentFolder.entry.name);
contentServicesPage.deleteContent(mainFolder.entry.name);
contentServicesPage.deleteContent(mainFile.entry.name);
navigationBarPage.clickTrashcanButton();
trashcanPage.waitForTableBody();
trashcanPage.checkRestoreButtonIsNotDisplayed();
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(parentFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(parentFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFile.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name);
trashcanPage.clickRestore();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(mainFile.entry.name);
contentServicesPage.doubleClickRow(parentFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(folderWithin.entry.name);
contentServicesPage.doubleClickRow(folderWithin.entry.name);
contentServicesPage.checkContentIsDisplayed(pdfFile.entry.name);
contentServicesPage.checkContentIsDisplayed(pngFile.entry.name);
});
});
afterAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(parentFolder.entry.id);
await uploadActions.deleteFileOrFolder(mainFolder.entry.id);
await uploadActions.deleteFileOrFolder(mainFile.entry.id);
done();
});
it('[C216431] Should restore hierarchy of folders', async () => {
contentServicesPage.deleteContent(parentFolder.entry.name);
contentServicesPage.deleteContent(mainFolder.entry.name);
contentServicesPage.deleteContent(mainFile.entry.name);
navigationBarPage.clickTrashcanButton();
trashcanPage.waitForTableBody();
trashcanPage.checkRestoreButtonIsNotDisplayed();
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(parentFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(parentFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFolder.entry.name);
trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFile.entry.name);
trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name);
trashcanPage.clickRestore();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(mainFile.entry.name);
contentServicesPage.doubleClickRow(parentFolder.entry.name);
contentServicesPage.checkContentIsDisplayed(folderWithin.entry.name);
contentServicesPage.doubleClickRow(folderWithin.entry.name);
contentServicesPage.checkContentIsDisplayed(pdfFile.entry.name);
contentServicesPage.checkContentIsDisplayed(pngFile.entry.name);
});
});
});
@@ -41,7 +41,7 @@ describe('Document List Component - Actions', () => {
const breadCrumbPage = new BreadCrumbPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const infinitePaginationPage = new InfinitePaginationPage(element(by.css('adf-content-node-selector')));
@@ -85,12 +85,16 @@ describe('Document List Component - Actions', () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
browser.driver.sleep(10000);
browser.driver.sleep(12000);
done();
});
beforeEach((done) => {
navigationBarPage.clickContentServicesButton();
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async(done) => {
await navigationBarPage.clickContentServicesButton();
done();
});
@@ -32,7 +32,7 @@ describe('Document List Component', () => {
let uploadedFolder, uploadedFolderExtra;
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null;
@@ -27,7 +27,7 @@ import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import resources = require('../../util/resources');
import {AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FileModel } from '../../models/ACS/fileModel';
describe('Document List Component', () => {
@@ -40,11 +40,12 @@ describe('Document List Component', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
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 folderName, sameNameFolder;
@@ -89,16 +90,23 @@ describe('Document List Component', () => {
}
});
browser.driver.sleep(10000);
browser.driver.sleep(12000);
done();
});
afterAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
uploadActions.deleteFileOrFolder(uploadedFile.entry.id);
uploadActions.deleteFileOrFolder(sourceFolder.entry.id);
uploadActions.deleteFileOrFolder(destinationFolder.entry.id);
await navigationBarPage.clickLogoutButton();
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
await uploadActions.deleteFileOrFolder(uploadedFile.entry.id);
await uploadActions.deleteFileOrFolder(sourceFolder.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();
});
@@ -30,11 +30,12 @@ describe('Document List Component', () => {
const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null;
const navBar = new NavigationBarPage();
const navigationBarPage = new NavigationBarPage();
describe('Gallery View', () => {
@@ -81,6 +82,10 @@ describe('Document List Component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async () => {
navBar.clickHomeButton();
contentServicesPage.goToDocumentList();
@@ -59,7 +59,7 @@ describe('Document List - Pagination', function () {
const folderThreeModel = new FolderModel({ 'name': 'folderThree' });
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -85,6 +85,10 @@ describe('Document List - Pagination', function () {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach((done) => {
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
@@ -28,13 +28,15 @@ describe('Document List Component', () => {
const contentServicesPage = new ContentServicesPage();
const navBar = new NavigationBarPage();
const errorPage = new ErrorPage();
const navigationBarPage = new NavigationBarPage();
let privateSite;
let acsUser = null;
beforeAll(() => {
this.alfrescoJsApi = new AlfrescoApi({
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) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id);
navBar.openLanguageMenu();
navBar.chooseLanguage('English');
@@ -29,12 +29,12 @@ describe('Document List Component - Properties', () => {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBar = new NavigationBarPage();
const navigationBarPage = new NavigationBarPage();
let subFolder, parentFolder;
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
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', () => {
navigationBar.clickContentServicesButton();
navigationBarPage.clickContentServicesButton();
contentServicesPage.doubleClickRow(parentFolder.entry.name);
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', () => {
navigationBar.clickContentServicesButton();
navigationBarPage.clickContentServicesButton();
contentServicesPage.doubleClickRow(parentFolder.entry.name);
contentServicesPage.enableDropFilesInAFolder();
@@ -22,6 +22,7 @@ import resources = require('../../util/resources');
import { LoginPage, StringUtil, UploadActions } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FileModel } from '../../models/ACS/fileModel';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Document List Component', () => {
@@ -30,11 +31,12 @@ describe('Document List Component', () => {
let uploadedFolder, uploadedFolderExtra;
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let acsUser = null;
let testFileNode, pdfBFileNode;
const navigationBarPage = new NavigationBarPage();
afterEach(async (done) => {
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) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
if (filePdfNode) {
await uploadActions.deleteFileOrFolder(filePdfNode.entry.id);
+1 -1
View File
@@ -36,7 +36,7 @@ describe('Lock File', () => {
const managerUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -51,7 +51,7 @@ describe('Aspect oriented config', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -86,6 +86,10 @@ describe('Aspect oriented config', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async (done) => {
viewerPage.clickCloseButton();
contentServicesPage.checkAcsContainer();
@@ -57,7 +57,7 @@ describe('permissions', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -94,9 +94,9 @@ describe('permissions', () => {
done();
});
afterAll(async (done) => {
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
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 () => {
@@ -56,7 +56,7 @@ describe('CardView Component - properties', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -80,6 +80,10 @@ describe('CardView Component - properties', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(() => {
viewerPage.clickCloseButton();
});
@@ -62,7 +62,7 @@ describe('Metadata component', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -84,6 +84,10 @@ describe('Metadata component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Viewer Metadata', () => {
beforeAll(async () => {
@@ -20,11 +20,13 @@ import { AcsUserModel } from '../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NotificationPage } from '../pages/adf/notificationPage';
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Notifications Component', () => {
const loginPage = new LoginPage();
const notificationHistoryPage = new NotificationPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel();
@@ -32,7 +34,7 @@ describe('Notifications Component', () => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -50,6 +52,10 @@ describe('Notifications Component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach( () => {
browser.executeScript(`document.querySelector('button[data-automation-id="notification-custom-dismiss-button"]').click();`);
notificationHistoryPage.enterDurationField(3000);
@@ -21,7 +21,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FileModel } from '../../models/ACS/fileModel';
import { StringUtil, BrowserActions, NotificationHistoryPage, LoginPage, UploadActions } from '@alfresco/adf-testing';
import { StringUtil, BrowserActions, NotificationHistoryPage, LoginPage, UploadActions } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { FolderModel } from '../../models/ACS/folderModel';
import { ViewerPage } from '../../pages/adf/viewerPage';
@@ -33,7 +33,7 @@ describe('Permissions Component', function () {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
@@ -165,6 +165,8 @@ describe('Permissions Component', function () {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await folders.forEach(function (folder) {
uploadActions.deleteFileOrFolder(folder.entry.id);
@@ -174,7 +176,7 @@ describe('Permissions Component', function () {
done();
});
describe('Inherit and assigning permissions', () => {
describe('Inherit and assigning permissions', () => {
beforeEach(async (done) => {
@@ -254,7 +256,7 @@ describe('Permissions Component', function () {
});
describe('Changing and duplicate Permissions', () => {
describe('Changing and duplicate Permissions', () => {
beforeEach(async (done) => {
@@ -285,15 +287,8 @@ describe('Permissions Component', function () {
});
afterEach(async (done) => {
try {
await uploadActions.deleteFileOrFolder(file.entry.id);
} catch (error) {
}
await uploadActions.deleteFileOrFolder(file.entry.id);
done();
});
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({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
@@ -149,6 +149,8 @@ describe('Permissions Component', function () {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
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(privateSite.entry.id);
@@ -15,7 +15,13 @@
* 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 { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ViewerPage } from '../../pages/adf/viewerPage';
@@ -29,9 +35,9 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
describe('Share file', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
});
provider: 'ECM',
hostEcm: browser.params.testConfig.adf_acs.host
});
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getDocumentList();
@@ -57,19 +63,16 @@ describe('Share file', () => {
nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser);
await loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.clickContentServicesButton();
await navigationBarPage.clickContentServicesButton();
done();
});
afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId);
} catch (error) {
}
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(nodeId);
done();
});
@@ -30,7 +30,7 @@ describe('Unshare file', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
@@ -38,6 +38,8 @@ describe('Unshare file', () => {
const navBar = new NavigationBarPage();
const errorPage = new ErrorPage();
const notificationHistoryPage = new NotificationHistoryPage();
const navigationBarPage = new NavigationBarPage();
const shareDialog = new ShareDialog();
const siteName = `PRIVATE-TEST-SITE-${StringUtil.generateRandomString(5)}`;
const acsUser = new AcsUserModel();
@@ -101,6 +103,10 @@ describe('Unshare file', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
});
afterEach(async (done) => {
await browser.refresh();
done();
@@ -149,7 +155,7 @@ describe('Unshare file', () => {
shareDialog.confirmationDialogIsDisplayed();
shareDialog.clickConfirmationDialogRemoveButton();
shareDialog.dialogIsClosed();
BrowserActions.getUrl(sharedLink);
BrowserActions.getUrl(sharedLink.replace(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.host));
errorPage.checkErrorCode();
});
});
@@ -36,7 +36,7 @@ describe('Social component', () => {
const secondComponentVisitor = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -85,6 +85,7 @@ describe('Social component', () => {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await uploadActions.deleteFileOrFolder(emptyFile.entry.id);
done();
});
@@ -51,7 +51,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url,
hostEcm: browser.params.testConfig.adf_acs.host,
authType: 'OAUTH',
oauth2: {
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', () => {
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);
identityService = new IdentityService(apiService);
@@ -90,18 +90,18 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList
silentLogin = false;
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.hostIdentity,
silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
loginSsoPage.clickOnSSOButton();
loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password);
await loginSsoPage.clickOnSSOButton();
await loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password);
navigationBarPage.clickContentServicesButton();
contentServicesPage.checkAcsContainer();
await navigationBarPage.clickContentServicesButton();
await contentServicesPage.checkAcsContainer();
contentListPage.doubleClickRow(folderName);
contentListPage.waitForTableBody();
await contentListPage.waitForTableBody();
done();
});
+4 -5
View File
@@ -33,7 +33,7 @@ describe('Tag component', () => {
const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
@@ -82,10 +82,9 @@ describe('Tag component', () => {
});
afterAll(async (done) => {
try {
await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id);
} catch (error) {
}
await navigationBarPage.clickLogoutButton();
await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id);
done();
});
@@ -60,7 +60,7 @@ describe('Trashcan - Pagination', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -89,6 +89,11 @@ describe('Trashcan - Pagination', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
afterEach((done) => {
browser.refresh();
trashcanPage.waitForTableBody();
+24 -13
View File
@@ -30,9 +30,9 @@ describe('Tree View Component', () => {
const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
});
provider: 'ECM',
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let treeFolder, secondTreeFolder, thirdTreeFolder;
@@ -52,10 +52,22 @@ describe('Tree View Component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { name: nodeNames.folder, nodeType: 'cm:folder' });
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' });
treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, {
name: nodeNames.folder,
nodeType: 'cm:folder'
});
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);
@@ -65,13 +77,12 @@ describe('Tree View Component', () => {
});
afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await navigationBarPage.clickLogoutButton();
await uploadActions.deleteFileOrFolder(treeFolder.entry.id);
await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id);
} catch (error) {
}
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await uploadActions.deleteFileOrFolder(treeFolder.entry.id);
await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id);
done();
});
@@ -24,12 +24,13 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel';
import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const contentServicesPage = new ContentServicesPage();
const uploadDialog = new UploadDialog();
@@ -37,6 +38,7 @@ describe('Upload component', () => {
const loginPage = new LoginPage();
const acsUser = new AcsUserModel();
const uploadActions = new UploadActions(this.alfrescoJsApi);
const navigationBarPage = new NavigationBarPage();
const firstPdfFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PDF_B.file_name,
@@ -69,6 +71,11 @@ describe('Upload component', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => {
contentServicesPage.goToDocumentList();
});
@@ -29,6 +29,7 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { DropActions } from '../../actions/drop.actions';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component - Excluded Files', () => {
@@ -37,6 +38,7 @@ describe('Upload component - Excluded Files', () => {
const uploadToggles = new UploadToggles();
const loginPage = new LoginPage();
const acsUser = new AcsUserModel();
const navigationBarPage = new NavigationBarPage();
const iniExcludedFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.INI.file_name,
@@ -56,7 +58,7 @@ describe('Upload component - Excluded Files', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -72,6 +74,11 @@ describe('Upload component - Excluded Files', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
afterEach(async (done) => {
contentServicesPage.goToDocumentList();
+9 -1
View File
@@ -25,6 +25,7 @@ import { browser } from 'protractor';
import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Upload component', () => {
@@ -34,9 +35,11 @@ describe('Upload component', () => {
const loginPage = new LoginPage();
const acsUser = new AcsUserModel();
const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -75,6 +78,11 @@ describe('Upload component', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => {
contentServicesPage.goToDocumentList();
});
@@ -37,7 +37,7 @@ describe('Upload component', () => {
const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const navigationBarPage = new NavigationBarPage();
@@ -86,6 +86,11 @@ describe('Upload component', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
beforeEach(() => {
contentServicesPage.goToDocumentList();
});
@@ -59,7 +59,7 @@ describe('Upload - User permission', () => {
beforeAll(() => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
});
@@ -98,6 +98,11 @@ describe('Upload - User permission', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
describe('Consumer permissions', () => {
beforeEach(async (done) => {
@@ -62,7 +62,7 @@ describe('Version component actions', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -87,6 +87,10 @@ describe('Version component actions', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C280003] Should not be possible delete a file version if there is only one version', () => {
versionManagePage.clickActionButton('1.0');
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({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const nodeActions = new NodeActions();
@@ -142,6 +142,8 @@ describe('Version component permissions', () => {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done();
});
@@ -184,6 +186,10 @@ describe('Version component permissions', () => {
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', () => {
contentServices.versionManagerContent(differentCreatorFile.name);
@@ -218,6 +224,8 @@ describe('Version component permissions', () => {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done();
});
@@ -276,6 +284,7 @@ describe('Version component permissions', () => {
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id);
done();
});
@@ -45,7 +45,7 @@ describe('Version Properties', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -72,6 +72,11 @@ describe('Version Properties', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
it('[C272817] Should NOT be present the download action when allowDownload property is false', () => {
versionManagePage.disableDownload();
@@ -62,7 +62,7 @@ describe('Version component', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -88,6 +88,11 @@ describe('Version component', () => {
done();
});
afterAll(async (done) => {
await navigationBarPage.clickLogoutButton();
done();
});
it('[C272768] Should be visible the first file version when you upload a file', () => {
versionManagePage.checkUploadNewVersionsButtonIsDisplayed();
+5 -2
View File
@@ -25,15 +25,18 @@ describe('Auth Guard SSO', () => {
const errorPage = new ErrorPage();
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.hostIdentity,
false, true, browser.params.config.oauth2.clientId);
browser.driver.sleep(5000);
loginSSOPage.clickOnSSOButton();
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
BrowserActions.getUrl(browser.params.testConfig.adf.url + '/cloud/simple-app');
browser.driver.sleep(1000);
browser.driver.sleep(2000);
expect(errorPage.getErrorCode()).toBe('403');
});
@@ -37,6 +37,10 @@ describe('CardView Component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
afterEach(() => {
cardViewPageComponent.clickOnResetButton();
});
@@ -35,7 +35,7 @@ describe('Datatable component - selection', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -49,6 +49,10 @@ describe('Datatable component - selection', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => {
dataTablePage.selectRow('2');
dataTableComponent.checkRowIsSelected('Id', '2');
@@ -46,7 +46,7 @@ describe('Datatable component', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -58,6 +58,10 @@ describe('Datatable component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Datatable component', () => {
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 { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Error Component', () => {
const acsUser = new AcsUserModel();
const loginPage = new LoginPage();
const errorPage = new ErrorPage();
const navigationBarPage = new NavigationBarPage();
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -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', () => {
BrowserActions.getUrl(browser.params.testConfig.adf.url + '/error/403');
expect(errorPage.getErrorCode()).toBe('403');
+2 -1
View File
@@ -49,7 +49,7 @@ describe('Header Component', () => {
beforeAll(async(done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url
hostBpm: browser.params.testConfig.adf_aps.host
});
const users = new UsersActions();
@@ -73,6 +73,7 @@ describe('Header Component', () => {
});
afterAll(async(done) => {
await navigationBarPage.clickLogoutButton();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
done();
+5 -1
View File
@@ -33,7 +33,7 @@ describe('Universal Icon component', function () {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -43,6 +43,10 @@ describe('Universal Icon component', function () {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => {
navigationBarPage.navigateToIconsPage();
done();
+5 -1
View File
@@ -55,7 +55,7 @@ describe('Enable infinite scrolling', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -82,6 +82,10 @@ describe('Enable infinite scrolling', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
beforeEach(async (done) => {
navigationBarPage.clickContentServicesButton();
contentServicesPage.checkAcsContainer();
+2 -2
View File
@@ -59,8 +59,8 @@ describe('Login component', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ALL',
hostEcm: browser.params.testConfig.adf.url,
hostBpm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf_aps.host
});
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');
});
});
});
+38 -52
View File
@@ -29,65 +29,39 @@ describe('Login component - SSO', () => {
const silentLogin = false;
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,
browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId, '/login');
await loginSSOPage.clickOnSSOButton();
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await navigationBarPage.clickLogoutButton();
afterEach(() => {
navigationBarPage.clickLogoutButton();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
browser.sleep(2000);
it('[C261050] Should be possible login with SSO', () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
browser.params.testConfig.adf.hostSso,
browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId);
loginSSOPage.clickOnSSOButton();
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', () => {
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', () => {
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');
browser.getCurrentUrl().then((actualUrl) => {
expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login');
});
});
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;
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.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.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId);
browser.ignoreSynchronization = true;
loginPage.enterUsername(browser.params.testConfig.adf.adminEmail);
loginPage.enterPassword(browser.params.testConfig.adf.adminPassword);
loginPage.clickSignInButton();
await loginPage.enterUsername(browser.params.testConfig.adf.adminEmail);
await loginPage.enterPassword(browser.params.testConfig.adf.adminPassword);
await loginPage.clickSignInButton();
let isDisplayed = false;
@@ -105,17 +79,29 @@ describe('Login component - SSO', () => {
});
});
it('[C280665] Should be possible change the logout redirect URL', () => {
settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url,
browser.params.testConfig.adf.hostSso,
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();
describe('Login component - SSO implicit Flow', () => {
browser.getCurrentUrl().then((actualUrl) => {
expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login');
afterEach(() => {
navigationBarPage.clickLogoutButton();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
it('[C261050] Should be possible login with SSO', async () => {
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({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url,
hostBpm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf_aps.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const logoutPage = new LogoutPage();
@@ -30,6 +30,7 @@ import { UploadActions } from '@alfresco/adf-testing';
import { Util } from '../util/util';
import resources = require('../util/resources');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
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 paginationPage = new PaginationPage();
const viewerPage = new ViewerPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel();
const folderModel = new FolderModel({ 'name': 'folderOne' });
@@ -68,7 +70,7 @@ describe('Pagination - returns to previous page when current is empty', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -101,6 +103,10 @@ describe('Pagination - returns to previous page when current is empty', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C274710] Should redirect to previous page when current is emptied', () => {
contentServicesPage.doubleClickRow(folderModel.name);
contentServicesPage.checkAcsContainer();
+10 -10
View File
@@ -56,8 +56,8 @@ describe('Settings component', () => {
loginPage.waitForElements();
settingsPage.goToSettingsPage();
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.getEcmHostUrl()).toEqual(browser.params.testConfig.adf.url, 'The ECM 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_acs.host, 'The ECM Settings changes are not saved');
});
@@ -104,8 +104,8 @@ describe('Settings component', () => {
beforeAll( (done) => {
settingsPage.goToSettingsPage();
settingsPage.setProvider(settingsPage.getEcmAndBpmOption(), 'ALL');
settingsPage.setContentServicesURL(browser.params.testConfig.adf.url);
settingsPage.setProcessServicesURL(browser.params.testConfig.adf.url);
settingsPage.setContentServicesURL(browser.params.testConfig.adf_acs.host);
settingsPage.setProcessServicesURL(browser.params.testConfig.adf_aps.host);
settingsPage.clickApply();
done();
});
@@ -121,8 +121,8 @@ describe('Settings component', () => {
settingsPage.checkProviderOptions();
settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url);
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
loginPage.goToLoginPage();
@@ -145,7 +145,7 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('BPM');
settingsPage.checkBasicAuthRadioIsSelected();
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.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton();
@@ -172,7 +172,7 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('ECM');
settingsPage.checkBasicAuthRadioIsSelected();
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.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton();
@@ -201,8 +201,8 @@ describe('Settings component', () => {
expect(settingsPage.getSelectedOptionText()).toBe('ALL');
settingsPage.checkBasicAuthRadioIsSelected();
settingsPage.checkSsoRadioIsNotSelected();
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url);
expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host);
expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host);
expect(settingsPage.getBackButton().isEnabled()).toBe(true);
expect(settingsPage.getApplyButton().isEnabled()).toBe(true);
settingsPage.clickBackButton();
+9 -2
View File
@@ -28,12 +28,15 @@ import resources = require('../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../actions/users.actions';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('User Info component', () => {
const loginPage = new LoginPage();
const userInfoPage = new UserInfoPage();
let processUserModel, contentUserModel;
const navigationBarPage = new NavigationBarPage();
const acsAvatarFileModel = new FileModel({
'name': resources.Files.PROFILE_IMAGES.ECM.file_name,
'location': resources.Files.PROFILE_IMAGES.ECM.file_location
@@ -48,8 +51,8 @@ describe('User Info component', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ALL',
hostEcm: browser.params.testConfig.adf.url,
hostBpm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf_aps.host
});
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -69,6 +72,10 @@ describe('User Info component', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C260111] Should display UserInfo when Process Services and Content Services are enabled', async () => {
await loginPage.loginToAllUsingUserModel(contentUserModel);
@@ -25,17 +25,20 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
let site;
const acsUser = new AcsUserModel();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -64,6 +67,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Archive Folder Uploaded', () => {
let uploadedArchives;
let archiveFolderUploaded;
@@ -30,12 +30,13 @@ import { NavigationBarPage } from '../../..//pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const navigationBarPage = new NavigationBarPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -72,6 +73,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C272813] Should be redirected to site when opening and closing a file in a site', async () => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
@@ -24,12 +24,15 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
let site;
const acsUser = new AcsUserModel();
@@ -39,7 +42,7 @@ describe('Viewer', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -61,6 +64,11 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Excel Folder Uploaded', () => {
let uploadedExcels;
@@ -92,7 +100,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton();
}
});
});
}, 5 * 60 * 1000);
});
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -67,6 +70,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Image Folder Uploaded', () => {
let uploadedImages, uploadedImgRenditionFolderInfo;
@@ -112,7 +119,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton();
}
});
});
}, 5 * 60 * 1000);
});
@@ -24,15 +24,18 @@ import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -63,6 +66,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('PowerPoint Folder Uploaded', () => {
let uploadedPpt;
@@ -94,7 +101,7 @@ describe('Viewer', () => {
viewerPage.clickCloseButton();
}
});
});
}, 5 * 60 * 1000);
});
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -62,6 +65,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Text Folder Uploaded', () => {
let uploadedTexts;
@@ -24,15 +24,18 @@ import resources = require('../../../util/resources');
import { FolderModel } from '../../../models/ACS/folderModel';
import { AcsUserModel } from '../../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const navigationBarPage = new NavigationBarPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -62,6 +65,10 @@ describe('Viewer', () => {
done();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
describe('Word Folder Uploaded', () => {
let uploadedWords;
+5 -1
View File
@@ -34,7 +34,7 @@ describe('Info Drawer', () => {
const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -79,6 +79,10 @@ describe('Info Drawer', () => {
contentServicesPage.checkAcsContainer();
});
afterEach(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C277251] Should display the icon when the icon property is defined', () => {
viewerPage.viewFile(pngFileUploaded.entry.name);
viewerPage.clickLeftSidebarButton();
@@ -24,12 +24,15 @@ import resources = require('../../util/resources');
import { FileModel } from '../../models/ACS/fileModel';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Content Services Viewer', () => {
const acsUser = new AcsUserModel();
const viewerPage = new ViewerPage();
const contentServicesPage = new ContentServicesPage();
const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
let zoom;
const pdfFile = new FileModel({
@@ -70,7 +73,7 @@ describe('Content Services Viewer', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -111,7 +114,6 @@ describe('Content Services Viewer', () => {
});
afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(pdfFile.getId());
await uploadActions.deleteFileOrFolder(protectedFile.getId());
await uploadActions.deleteFileOrFolder(docxFile.getId());
@@ -119,6 +121,7 @@ describe('Content Services Viewer', () => {
await uploadActions.deleteFileOrFolder(mp4File.getId());
await uploadActions.deleteFileOrFolder(pptFile.getId());
await uploadActions.deleteFileOrFolder(unsupportedFile.getId());
await navigationBarPage.clickLogoutButton();
done();
});
@@ -23,15 +23,17 @@ import resources = require('../../util/resources');
import { FileModel } from '../../models/ACS/fileModel';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Viewer', () => {
const navigationBarPage = new NavigationBarPage();
const viewerPage = new ViewerPage();
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
const acsUser = new AcsUserModel();
@@ -57,6 +59,7 @@ describe('Viewer', () => {
afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(txtFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done();
});
+2 -1
View File
@@ -35,7 +35,7 @@ describe('Viewer', () => {
const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -75,6 +75,7 @@ describe('Viewer', () => {
afterAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await uploadActions.deleteFileOrFolder(jsFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done();
});
+2 -1
View File
@@ -45,7 +45,7 @@ describe('Viewer - properties', () => {
});
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
@@ -78,6 +78,7 @@ describe('Viewer - properties', () => {
afterAll(async (done) => {
await uploadActions.deleteFileOrFolder(pngFile.getId());
await navigationBarPage.clickLogoutButton();
done();
});
+2 -1
View File
@@ -35,7 +35,7 @@ describe('Viewer', () => {
const contentServicesPage = new ContentServicesPage();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf.url
hostEcm: browser.params.testConfig.adf_acs.host
});
const uploadActions = new UploadActions(this.alfrescoJsApi);
let site;
@@ -86,6 +86,7 @@ describe('Viewer', () => {
afterAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await uploadActions.deleteFileOrFolder(wordFileUploaded.entry.id);
await navigationBarPage.clickLogoutButton();
done();
});
+1 -1
View File
@@ -39,7 +39,7 @@ describe('Analytics Smoke Test', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
+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');
module.exports = {
@@ -12,21 +6,7 @@ module.exports = {
open: false,
server: {
middleware: {
1: proxy('/alfresco', {
"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})
1: fallback({index: '/index.html', verbose: true})
}
}
};
@@ -68,7 +68,6 @@ export class ProcessCloudDemoPage {
}
getActiveFilterName() {
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return BrowserActions.getText(this.activeFilter);
}
@@ -100,7 +100,7 @@ export class TasksCloudDemoPage {
openNewTaskForm() {
BrowserActions.click(this.createButton);
BrowserActions.click(this.newTaskButton);
BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]');
return this;
}
+1 -1
View File
@@ -135,7 +135,7 @@ export class NavigationBarPage {
async clickLogoutButton() {
BrowserActions.closeMenuAndDialogs();
BrowserActions.click(this.logoutButton);
BrowserActions.clickExecuteScript('.adf-sidenav-link[adf-logout]');
}
async clickCardViewButton() {
@@ -43,7 +43,7 @@ describe('Applications list', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await apiService.login(testUser.email, testUser.password);
applicationsService = new ApplicationsService(apiService);
applications = await applicationsService.getApplicationsByStatus('RUNNING');
@@ -51,7 +51,7 @@ describe('Edit process filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -95,6 +95,8 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
@@ -114,6 +116,9 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -121,9 +126,15 @@ describe('Edit process filters cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton().setFilterName('New').clickOnSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -137,6 +148,9 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
@@ -144,6 +158,9 @@ describe('Edit process filters cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
@@ -156,10 +173,17 @@ describe('Edit process filters cloud', () => {
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed();
});
@@ -57,7 +57,7 @@ describe('Edit task filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -119,6 +119,7 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
@@ -139,18 +140,22 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
browser.driver.sleep(1000);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
@@ -162,12 +167,16 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
@@ -179,10 +188,16 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed();
});
@@ -82,7 +82,7 @@ describe('Form Field Component - Dropdown Widget', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -15,24 +15,24 @@
* limitations under the License.
*/
import { LoginPage, Widget } from '@alfresco/adf-testing';
import { LoginSSOPage, SettingsPage, Widget } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { UsersActions } from '../../actions/users.actions';
import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage';
import { checkboxVisibilityForm } from '../../resources/forms/checkbox-visibility-condition';
describe('Visibility conditions - cloud', () => {
const loginPage = new LoginPage();
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const formCloudDemoPage = new FormCloudDemoPage();
const checkboxVisibilityFormJson = JSON.parse(checkboxVisibilityForm);
const widget = new Widget();
let tenantId, user;
let visibleCheckbox;
const widgets = {
@@ -46,7 +46,7 @@ describe('Visibility conditions - cloud', () => {
};
const checkbox = {
checkboxFieldValue : 'CheckboxFieldValue',
checkboxFieldValue: 'CheckboxFieldValue',
checkboxVariableField: 'CheckboxVariableField',
checkboxFieldVariable: 'CheckboxFieldVariable',
checkboxFieldField: 'CheckboxFieldField',
@@ -57,20 +57,14 @@ describe('Visibility conditions - cloud', () => {
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url
hostBpm: browser.params.testConfig.adf_aps.host
});
const users = new UsersActions();
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
user = await users.createTenantAndUser(this.alfrescoJsApi);
tenantId = user.tenantId;
await this.alfrescoJsApi.login(user.email, user.password);
await loginPage.loginToProcessServicesUsingUserModel(user);
await settingsPage.setProviderBpmSso(
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
navigationBarPage.clickFormCloudButton();
@@ -79,12 +73,6 @@ describe('Visibility conditions - cloud', () => {
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', () => {
widget.textWidget().isWidgetVisible(widgets.textOneId);
@@ -91,7 +91,7 @@ describe('People Groups Cloud Component', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -77,8 +77,8 @@ describe('People Groups Cloud Component', () => {
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
groupNoRole = await groupIdentityService.createIdentityGroup();
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN );
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN );
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`];
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
@@ -86,7 +86,7 @@ describe('People Groups Cloud Component', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -102,6 +102,7 @@ describe('People Groups Cloud Component', () => {
await identityService.deleteIdentityUser(testUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
});
beforeEach(() => {
@@ -109,7 +109,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
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-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done();
@@ -126,7 +126,7 @@ describe('Process filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
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-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done();
@@ -87,7 +87,7 @@ describe('Process filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 5 * 60 * 1000);
@@ -100,7 +100,7 @@ describe('Process Header cloud component', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -72,7 +72,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -71,7 +71,7 @@ describe('Process list cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -36,7 +36,6 @@ describe('Start Process', () => {
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
const processDefinitionWithoutName = 'process-';
const processName = StringUtil.generateRandomString(10);
const processName255Characters = StringUtil.generateRandomString(255);
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
@@ -58,7 +57,7 @@ describe('Start Process', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
@@ -109,7 +108,6 @@ describe('Start Process', () => {
startProcessPage.enterProcessName(processName);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
startProcessPage.clickStartProcessButton();
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
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,9 +83,10 @@ describe('Start Task Form', () => {
let testUser, acsUser, groupInfo;
let processDefinitionService: ProcessDefinitionsService;
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 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({
'name': resources.Files.ADF_DOCUMENTS.PDF.file_name,
'location': resources.Files.ADF_DOCUMENTS.PDF.file_location
@@ -163,22 +164,19 @@ describe('Start Task Form', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost,
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));
done();
});
afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
await apiService.login(testUser.email, testUser.password);
const tasksService = new TasksService(apiService);
const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp);
await tasksService.deleteTask(standAloneTaskId, candidateBaseApp);
await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
await apiService.login(testUser.email, testUser.password);
const tasksService = new TasksService(apiService);
const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp);
await tasksService.deleteTask(standAloneTaskId, candidateBaseApp);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
@@ -19,8 +19,17 @@ import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import {
LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService
LoginSSOPage,
AppListCloudPage,
StringUtil,
TaskHeaderCloudPage,
StartTasksCloudPage,
PeopleCloudComponentPage,
TasksService,
ApiService,
IdentityService,
SettingsPage,
GroupIdentityService
} from '@alfresco/adf-testing';
import resources = require('../../util/resources');
@@ -70,27 +79,24 @@ describe('Start Task', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
try {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
const tasksService = new TasksService(apiService);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
const tasksService = new TasksService(apiService);
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
for (let i = 0; i < tasks.length; i++) {
const taskId = await tasksService.getTaskId(tasks[i], simpleApp);
if (taskId) {
await tasksService.deleteTask(taskId, simpleApp);
}
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
for (let i = 0; i < tasks.length; i++) {
const taskId = await tasksService.getTaskId(tasks[i], simpleApp);
if (taskId) {
await tasksService.deleteTask(taskId, simpleApp);
}
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
@@ -19,8 +19,17 @@ import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import {
LoginSSOPage, AppListCloudPage, StringUtil, GroupCloudComponentPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService
LoginSSOPage,
AppListCloudPage,
StringUtil,
GroupCloudComponentPage,
StartTasksCloudPage,
PeopleCloudComponentPage,
TasksService,
ApiService,
IdentityService,
SettingsPage,
GroupIdentityService, RolesService
} from '@alfresco/adf-testing';
import resources = require('../../util/resources');
@@ -57,6 +66,11 @@ describe('Start Task - Group Cloud Component', () => {
hrGroup = await groupIdentityService.getGroupInfoByGroupName('hr');
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(apsUser.idIdentityService, hrGroup.id);
@@ -64,29 +78,28 @@ describe('Start Task - Group Cloud Component', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
done();
});
afterAll(async (done) => {
try {
await apiService.login(testUser.email, testUser.password);
const tasksService = new TasksService(apiService);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
const tasksService = new TasksService(apiService);
const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp);
await tasksService.deleteTask(bothGroupsTaskId, simpleApp);
const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp);
await tasksService.deleteTask(bothGroupsTaskId, simpleApp);
const oneGroupTaskId = await tasksService.getTaskId(oneGroupTaskName, simpleApp);
await tasksService.deleteTask(oneGroupTaskId, simpleApp);
const oneGroupTaskId = await tasksService.getTaskId(oneGroupTaskName, simpleApp);
await tasksService.deleteTask(oneGroupTaskId, simpleApp);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
} catch (error) {
}
done();
});
beforeEach(() => {
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
beforeEach(async () => {
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -100,10 +113,11 @@ describe('Start Task - Group Cloud Component', () => {
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();
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
@@ -120,7 +134,7 @@ describe('Start Task - Group Cloud Component', () => {
startTask.clickStartButton();
navigationBarPage.clickLogoutButton();
loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -136,7 +150,7 @@ describe('Start Task - Group Cloud Component', () => {
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();
groupCloud.searchGroups(testGroup.name);
@@ -153,7 +167,7 @@ describe('Start Task - Group Cloud Component', () => {
startTask.clickStartButton();
navigationBarPage.clickLogoutButton();
loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
@@ -52,7 +52,7 @@ describe('Task filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -15,20 +15,19 @@
* limitations under the License.
*/
import { browser } from 'protractor';
import { browser, protractor } from 'protractor';
import {
AppListCloudPage,
StringUtil,
ApiService,
LoginSSOPage,
TasksService,
QueryService,
ProcessDefinitionsService,
ProcessInstancesService,
SettingsPage,
TaskHeaderCloudPage,
TaskFormCloudComponent,
Widget
Widget, IdentityService
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -50,21 +49,24 @@ describe('Task form cloud component', () => {
let tasksService: TasksService;
let processDefinitionService: ProcessDefinitionsService;
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 completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
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);
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);
queryService = new QueryService(apiService);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp);
formValidationsTask = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(), candidateBaseApp, formToTestValidationsKey);
@@ -78,29 +80,38 @@ describe('Task form cloud component', () => {
await tasksService.createAndCompleteTask(completedTaskName, candidateBaseApp);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService
.getProcessDefinitionByName(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.processes.candidateUserProcess, candidateBaseApp);
processInstancesService = new ProcessInstancesService(apiService);
completedProcess = 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 processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
await settingsPage.setProviderBpmSso(
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 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 () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
expect(taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE');
@@ -110,7 +121,7 @@ describe('Task form cloud component', () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
taskFormCloudComponent.checkFormIsNotDisplayed();
@@ -124,7 +135,7 @@ describe('Task form cloud component', () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name);
taskFormCloudComponent.checkFormIsDisplayed();
@@ -139,11 +150,11 @@ describe('Task form cloud component', () => {
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
widget.dateWidget().setDateInput('Date0m1moq', 'invalid date');
widget.dateWidget().clickOutsideWidget('Date0m1moq');
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
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);
widget.numberWidget().setFieldValue('Number0klykr', 'invalid number');
@@ -169,8 +180,8 @@ describe('Task form cloud component', () => {
done();
});
it('[C307093] Complete button is not displayed when the task is already completed', () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
it('[C307093] Complete button is not displayed when the task is already completed', async () => {
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
@@ -178,10 +189,12 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307095] Task can not be completed by owner user', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
it('[C307095] Task can not be completed by owner user', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
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().selectRow(createdTask.entry.name);
@@ -189,8 +202,8 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307110] Task list is displayed after clicking on Cancel button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
it('[C307110] Task list is displayed after clicking on Cancel button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
@@ -202,8 +215,8 @@ describe('Task form cloud component', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
});
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
@@ -212,7 +225,7 @@ describe('Task form cloud component', () => {
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
@@ -221,14 +234,14 @@ describe('Task form cloud component', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(claimedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(claimedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
});
@@ -90,7 +90,7 @@ describe('Task Header cloud component', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -68,21 +68,25 @@ describe('Edit task filters and task list properties', () => {
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
await apiService.login(testUser.email, testUser.password);
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(createdTask.entry.id, simpleApp);
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, { priority: priority });
await tasksService.claimTask(priorityTask.entry.id, simpleApp);
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
await tasksService.claimTask(notDisplayedTask.entry.id, candidateBaseApp);
processDefinitionService = new ProcessDefinitionsService(apiService);
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);
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.oauth2.host,
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-edit-task-filter', JSON.stringify({
'filterProperties': [
@@ -219,10 +223,11 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id)
.setStatusFilterDropDown('ALL').clearAssignee();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
browser.sleep(1000);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
});
@@ -68,7 +68,7 @@ describe('Task list cloud - selection', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
@@ -103,7 +103,7 @@ describe('Task filters cloud', () => {
browser.params.config.bpmHost,
browser.params.config.oauth2.host,
browser.params.config.identityHost);
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 5 * 60 * 1000 );
+1 -1
View File
@@ -46,7 +46,7 @@ describe('Modify applications', () => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -51,7 +51,7 @@ describe('Start Task - Task App', () => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -70,7 +70,7 @@ describe('Start Task - Task App', () => {
afterAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -54,7 +54,7 @@ describe('Attach Form Component', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url
hostBpm: browser.params.testConfig.adf_aps.host
});
const users = new UsersActions();
@@ -80,12 +80,9 @@ describe('Attach Form Component', () => {
});
afterAll(async (done) => {
try {
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
} catch (error) {
}
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
done();
});
@@ -53,7 +53,7 @@ describe('Checklist component', () => {
this.alfrescoJsApi = new AlfrescoApi({
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);
@@ -40,7 +40,7 @@ describe('Comment component for Processes', () => {
beforeAll(async(done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf.url
hostBpm: browser.params.testConfig.adf_aps.host
});
const apps = new AppsActions();

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