mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
[ACS-259] refactor login page (#5733)
* refator login page * refator login page * remove obsolete classes and move what is needed in the test pck * fix const * revert modify * remove duplicate browser property * fix build * fix * fix * fix lint * move drop action in testing remove not necessary space js-api centralize content * first refactor use js-api * fix protractor * refactor test config * simplify properties fix namings * ps cloud simplify remove unused js files * id fix * fix search test simplify environment var step 1 * fix lint * first user iteration fix * fix model * unify use of apiService * first step automatic user creation Identity * refactor creation user content-services * refactor creation user search * refactor creation user core * process service refactoring 1 * process service refactoring 1 * process service refactoring 2 * fix process * appconfig * fix process util * fix gallery * fix "this" reference issues * fix incorrect import paths * fix core * some fixes * allign * fix some test remove structure folder and move in actions * fixes * move folders in the right place * fix * fix rebase * solve build issue * fix e2e * change init aae * order api and some fixes * fix possible not valid password * fix some ps test * replace host port also in objects * Update app-config.service.ts * fix process * fix process test * process service cloud fix * fiexs * modify init script * fix two test * remove unused property * host issue * not use npx * fix ps cloud test Co-authored-by: Denys Vuika <denys.vuika@gmail.com>
This commit is contained in:
co-authored by
Denys Vuika
parent
f0df6b3a5f
commit
a78f24ada1
@@ -14,38 +14,34 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { LoginPage, AboutPage } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, AboutPage, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
|
||||
describe('About Process Services', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const aboutPage = new AboutPage();
|
||||
let user, tenantId;
|
||||
|
||||
let user;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
beforeAll(async() => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
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 apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await loginPage.login(user.email, user.password);
|
||||
await navigationBarPage.clickAboutButton();
|
||||
|
||||
});
|
||||
|
||||
afterAll(async() => {
|
||||
await navigationBarPage.clickLogoutButton();
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C280002] Should be able to view about process services info', async () => {
|
||||
|
||||
@@ -16,48 +16,42 @@
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import { LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
import { ModelsActions } from '../actions/APS/models.actions';
|
||||
|
||||
describe('Modify applications', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
const appToBeDeleted = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const replacingApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const apps = new AppsActions();
|
||||
const modelActions = new ModelsActions();
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const modelActions = new ModelsActions(apiService);
|
||||
const apps = new ApplicationsUtil(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationService = new ApplicationsUtil(apiService);
|
||||
|
||||
let firstApp, appVersionToBeDeleted;
|
||||
let applicationService;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const user = await usersActions.createUser();
|
||||
|
||||
applicationService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
firstApp = await applicationService.importPublishDeployApp(app.file_path);
|
||||
appVersionToBeDeleted = await applicationService.importPublishDeployApp(appToBeDeleted.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
it('[C260198] Should the app be displayed on dashboard when is deployed on APS', async () => {
|
||||
@@ -79,7 +73,7 @@ describe('Modify applications', () => {
|
||||
await expect(await processServicesPage.getBackgroundColor(app.title)).toEqual(CONSTANTS.APP_COLOR.BLUE);
|
||||
await expect(await processServicesPage.getDescription(app.title)).toEqual(app.description);
|
||||
|
||||
await apps.importNewVersionAppDefinitionPublishDeployApp(this.alfrescoJsApi, replacingApp.file_location, firstApp.id);
|
||||
await apps.importNewVersionAppDefinitionPublishDeployApp(replacingApp.file_location, firstApp.id);
|
||||
|
||||
await navigationBarPage.clickHomeButton();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
@@ -98,7 +92,7 @@ describe('Modify applications', () => {
|
||||
|
||||
await processServicesPage.checkAppIsDisplayed(app.title);
|
||||
|
||||
await modelActions.deleteEntireModel(this.alfrescoJsApi, firstApp.id);
|
||||
await modelActions.deleteEntireModel(firstApp.id);
|
||||
await navigationBarPage.clickHomeButton();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
|
||||
@@ -114,7 +108,7 @@ describe('Modify applications', () => {
|
||||
await processServicesPage.checkAppIsDisplayed(appToBeDeleted.title);
|
||||
await expect(await processServicesPage.getBackgroundColor(appToBeDeleted.title)).toEqual(CONSTANTS.APP_COLOR.ORANGE);
|
||||
|
||||
await apps.importNewVersionAppDefinitionPublishDeployApp(this.alfrescoJsApi, replacingApp.file_location, appVersionToBeDeleted.id);
|
||||
await apps.importNewVersionAppDefinitionPublishDeployApp(replacingApp.file_location, appVersionToBeDeleted.id);
|
||||
|
||||
await navigationBarPage.clickHomeButton();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
@@ -123,9 +117,9 @@ describe('Modify applications', () => {
|
||||
|
||||
await expect(await processServicesPage.getBackgroundColor(appToBeDeleted.title)).toEqual(CONSTANTS.APP_COLOR.GREY);
|
||||
|
||||
await modelActions.deleteVersionModel(this.alfrescoJsApi, appVersionToBeDeleted.id);
|
||||
await modelActions.deleteVersionModel(this.alfrescoJsApi, appVersionToBeDeleted.id);
|
||||
await apps.publishDeployApp(this.alfrescoJsApi, appVersionToBeDeleted.id);
|
||||
await modelActions.deleteVersionModel(appVersionToBeDeleted.id);
|
||||
await modelActions.deleteVersionModel(appVersionToBeDeleted.id);
|
||||
await apps.publishDeployApp(appVersionToBeDeleted.id);
|
||||
|
||||
await navigationBarPage.clickHomeButton();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
@@ -155,7 +149,7 @@ describe('Modify applications', () => {
|
||||
}, 'publish': true
|
||||
};
|
||||
|
||||
await this.alfrescoJsApi.activiti.appsApi.updateAppDefinition(appVersionToBeDeleted.id, appDefinition);
|
||||
await apiService.getInstance().activiti.appsApi.updateAppDefinition(appVersionToBeDeleted.id, appDefinition);
|
||||
|
||||
await navigationBarPage.clickHomeButton();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
|
||||
@@ -16,42 +16,45 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
ApiService,
|
||||
ApplicationsUtil,
|
||||
ContentNodeSelectorDialogPage,
|
||||
ExternalNodeSelectorDialogPage,
|
||||
IntegrationService,
|
||||
LoginPage,
|
||||
UploadActions,
|
||||
IntegrationService, LocalStorageUtil,
|
||||
LoginSSOPage,
|
||||
UploadActions, UserModel,
|
||||
Widget
|
||||
} from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { User } from '../models/APS/user';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Attach File - Content service', () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'ALL',
|
||||
hostEcm: browser.params.testConfig.adf_acs.host,
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
this.alfrescoJsApiExternal = new AlfrescoApi({
|
||||
provider: 'ECM',
|
||||
hostEcm: browser.params.testConfig.adf_external_acs.host
|
||||
});
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const widget = new Widget();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const contentNodeSelector = new ContentNodeSelectorDialogPage();
|
||||
const externalNodeSelector = new ExternalNodeSelectorDialogPage();
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
const { adminEmail, adminPassword } = browser.params.testConfig.adf;
|
||||
const apiServiceExternal = new ApiService({
|
||||
provider: 'ECM',
|
||||
hostEcm: browser.params.testConfig.adf_external_acs.host
|
||||
});
|
||||
const usersActionsExternal = new UsersActions(apiServiceExternal);
|
||||
|
||||
const apiService = new ApiService({ provider: 'ALL'});
|
||||
const integrationService = new IntegrationService(apiService);
|
||||
const applicationService = new ApplicationsUtil(apiService);
|
||||
const uploadActions = new UploadActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
const { email, password } = browser.params.testConfig.admin;
|
||||
|
||||
const pdfFileOne = {
|
||||
name: browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name,
|
||||
@@ -65,36 +68,32 @@ describe('Attach File - Content service', () => {
|
||||
|
||||
const externalFile = 'Project Overview.ppt';
|
||||
const csIntegrations = ['adf dev', 'adf master'];
|
||||
let user: User;
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const integrationService = new IntegrationService(this.alfrescoJsApi);
|
||||
const applicationService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
const uploadActions = new UploadActions(this.alfrescoJsApi);
|
||||
const users = new UsersActions();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ALL');
|
||||
|
||||
await this.alfrescoJsApi.login(adminEmail, adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
const acsUser = { ...user, id: user.email }; delete acsUser.type; delete acsUser.tenantId;
|
||||
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
|
||||
await this.alfrescoJsApiExternal.login(adminEmail, adminPassword);
|
||||
await this.alfrescoJsApiExternal.core.peopleApi.addPerson(acsUser);
|
||||
await apiService.getInstance().login(email, password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await integrationService.addCSIntegration({ tenantId: user.tenantId, name: csIntegrations[0], host: browser.params.testConfig.adf_acs.host });
|
||||
await apiServiceExternal.login(email, password);
|
||||
await usersActionsExternal.createUser(user);
|
||||
|
||||
await integrationService.addCSIntegration({ tenantId: user.tenantId, name: csIntegrations[0], host: browser.params.testConfig.appConfig.ecmHost });
|
||||
await integrationService.addCSIntegration({ tenantId: user.tenantId, name: csIntegrations[1], host: browser.params.testConfig.adf_external_acs.host });
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await uploadActions.uploadFile(pdfFileTwo.location, pdfFileTwo.name, '-my-');
|
||||
await applicationService.importPublishDeployApp(app.file_path);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(adminEmail, adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(email, password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach( async () => {
|
||||
await loginPage.loginToAllUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterEach( async () => {
|
||||
@@ -172,9 +171,6 @@ describe('Attach File - Content service', () => {
|
||||
await widget.attachFileWidget().clickUploadButton(app.UPLOAD_FILE_FORM_CS.FIELD.widget_id);
|
||||
await widget.attachFileWidget().selectUploadSource(csIntegrations[1]);
|
||||
|
||||
await expect(await externalNodeSelector.getTitle()).toEqual(`Sign into '${browser.params.testConfig.adf_external_acs.host}'`);
|
||||
await externalNodeSelector.login(user.email, user.password);
|
||||
|
||||
await externalNodeSelector.searchAndSelectResult(externalFile, externalFile);
|
||||
await externalNodeSelector.clickMoveCopyButton();
|
||||
await widget.attachFileWidget().checkFileIsAttached(app.UPLOAD_FILE_FORM_CS.FIELD.widget_id, externalFile);
|
||||
|
||||
@@ -15,32 +15,28 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget, ViewerPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, ViewerPage, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { browser } from 'protractor';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { User } from '../models/APS/user';
|
||||
|
||||
describe('Start Task - Task App', () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const users = new UsersActions();
|
||||
const applicationService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const viewerPage = new ViewerPage();
|
||||
const widget = new Widget();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
let user: User;
|
||||
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationService = new ApplicationsUtil(apiService);
|
||||
|
||||
let user: UserModel;
|
||||
const pdfFile = new FileModel({ 'name': browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name });
|
||||
const wordFile = new FileModel({
|
||||
name: browser.params.resources.Files.ADF_DOCUMENTS.DOCX.file_name,
|
||||
@@ -49,16 +45,16 @@ describe('Start Task - Task App', () => {
|
||||
const appFields = app.form_fields;
|
||||
|
||||
beforeAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await applicationService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C274690] Should be able to open a file attached to a start form', async () => {
|
||||
|
||||
@@ -16,58 +16,55 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
ApiService,
|
||||
ApplicationsUtil,
|
||||
ContentNodeSelectorDialogPage,
|
||||
IntegrationService,
|
||||
LoginPage,
|
||||
IntegrationService, LocalStorageUtil,
|
||||
LoginSSOPage, UserModel,
|
||||
Widget
|
||||
} from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { User } from '../models/APS/user';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Attach Folder', () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'ALL',
|
||||
hostEcm: browser.params.testConfig.adf_acs.host,
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const integrationService = new IntegrationService(this.alfrescoJsApi);
|
||||
const applicationService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
|
||||
const users = new UsersActions();
|
||||
const loginPage = new LoginPage();
|
||||
const apiService = new ApiService({ provider: 'ALL' });
|
||||
const integrationService = new IntegrationService(apiService);
|
||||
const applicationService = new ApplicationsUtil(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const widget = new Widget();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const contentNodeSelector = new ContentNodeSelectorDialogPage();
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
const meetingNotes = 'Meeting Notes';
|
||||
const { adminEmail, adminPassword } = browser.params.testConfig.adf;
|
||||
let user: User;
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await this.alfrescoJsApi.login(adminEmail, adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ALL');
|
||||
|
||||
const acsUser = { ...user, id: user.email }; delete acsUser.type; delete acsUser.tenantId;
|
||||
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await integrationService.addCSIntegration({ tenantId: user.tenantId, name: 'adf dev', host: browser.params.testConfig.adf_acs.host });
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await integrationService.addCSIntegration({
|
||||
tenantId: user.tenantId,
|
||||
name: 'adf dev',
|
||||
host: browser.params.testConfig.appConfig.ecmHost
|
||||
});
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await applicationService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToAllUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(adminEmail, adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C246534] Attach folder - ACS', async () => {
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
@@ -81,7 +78,7 @@ describe('Attach Folder', () => {
|
||||
await expect(await contentNodeSelector.checkCancelButtonIsEnabled()).toBe(true);
|
||||
await expect(await contentNodeSelector.checkCopyMoveButtonIsEnabled()).toBe(true);
|
||||
|
||||
await contentNodeSelector.searchAndSelectResult(meetingNotes, meetingNotes);
|
||||
await contentNodeSelector.searchAndSelectResult('Meeting Notes', 'Meeting Notes');
|
||||
await expect(await contentNodeSelector.checkCancelButtonIsEnabled()).toBe(true);
|
||||
await expect(await contentNodeSelector.checkCopyMoveButtonIsEnabled()).toBe(false);
|
||||
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { FormFields, LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { FormFields, LoginSSOPage, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser, by } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
@@ -24,19 +23,24 @@ import { AttachFormPage } from '../pages/adf/process-services/attach-form.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { TaskDetailsPage } from '../pages/adf/process-services/task-details.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Attach Form Component', () => {
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const taskDetailsPage = new TaskDetailsPage();
|
||||
const attachFormPage = new AttachFormPage();
|
||||
const formFields = new FormFields();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationService = new ApplicationsUtil(apiService);
|
||||
|
||||
const formTextField = app.form_fields.form_fieldId;
|
||||
let user, tenantId, appId;
|
||||
let user, tenantId, appModel;
|
||||
|
||||
const testNames = {
|
||||
taskName: 'Test Task',
|
||||
@@ -47,36 +51,25 @@ describe('Attach Form Component', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const applicationService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
|
||||
const users = new UsersActions();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
const appModel = await applicationService.importPublishDeployApp(app.file_path);
|
||||
appModel = await applicationService.importPublishDeployApp(app.file_path);
|
||||
|
||||
appId = appModel.id;
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: testNames.taskName }));
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: testNames.taskName });
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
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);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appModel.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C280047] Should be able to view the attach-form component after creating a standalone task', async () => {
|
||||
|
||||
@@ -15,60 +15,55 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { ApiService, LoginSSOPage } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { ChecklistDialog } from '../pages/adf/process-services/dialog/create-checklist-dialog.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Checklist component', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const processServices = new ProcessServicesPage();
|
||||
const checklistDialog = new ChecklistDialog();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let processUserModel;
|
||||
|
||||
const tasks = ['no checklist created task', 'checklist number task', 'remove running checklist', 'remove completed checklist', 'hierarchy'];
|
||||
const checklists = ['cancelCheckList', 'dialogChecklist', 'addFirstChecklist', 'addSecondChecklist'];
|
||||
const removeChecklist = ['removeFirstRunningChecklist', 'removeSecondRunningChecklist', 'removeFirstCompletedChecklist', 'removeSecondCompletedChecklist'];
|
||||
const hierarchyChecklist = ['checklistOne', 'checklistTwo', 'checklistOneChild', 'checklistTwoChild'];
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location);
|
||||
const file = fs.createReadStream(pathFile);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
|
||||
await apiService.getInstance().activiti.appsApi.importAppDefinition(file);
|
||||
|
||||
for (let i = 0; i < tasks.length; i++) {
|
||||
this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[i] });
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[i] }));
|
||||
}
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -16,65 +16,59 @@
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import { LoginPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { CommentsPage } from '../pages/adf/comments.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Comment component for Processes', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const commentsPage = new CommentsPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
let user, tenantId, appId, processInstanceId, addedComment;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let user, appId, processInstanceId, addedComment;
|
||||
const processName = 'Comment APS';
|
||||
|
||||
beforeAll(async () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
const users = new UsersActions();
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
|
||||
tenantId = user.tenantId;
|
||||
const processWithComment = await new ProcessUtil(apiService).startProcessOfApp(importedApp.name, processName);
|
||||
processInstanceId = processWithComment.id;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
|
||||
const processWithComment = await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(importedApp.name, processName);
|
||||
processInstanceId = processWithComment.id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
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);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C260464] Should be able to add a comment on APS and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.commentsApi.addProcessInstanceComment({ message: 'HELLO' }, processInstanceId);
|
||||
await apiService.getInstance().activiti.commentsApi.addProcessInstanceComment({ message: 'HELLO' }, processInstanceId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList(processName);
|
||||
|
||||
addedComment = await this.alfrescoJsApi.activiti.commentsApi.getProcessInstanceComments(processInstanceId, { 'latestFirst': true });
|
||||
addedComment = await apiService.getInstance().activiti.commentsApi.getProcessInstanceComments(processInstanceId, { 'latestFirst': true });
|
||||
|
||||
await commentsPage.checkUserIconIsDisplayed();
|
||||
|
||||
@@ -85,34 +79,34 @@ describe('Comment component for Processes', () => {
|
||||
});
|
||||
|
||||
it('[C260465] Should not be able to view process comment on included task', async () => {
|
||||
await this.alfrescoJsApi.activiti.commentsApi.addProcessInstanceComment({ message: 'GOODBYE' }, processInstanceId);
|
||||
await apiService.getInstance().activiti.commentsApi.addProcessInstanceComment({ message: 'GOODBYE' }, processInstanceId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList(processName);
|
||||
|
||||
const taskQuery = await this.alfrescoJsApi.activiti.taskApi.listTasks({ processInstanceId: processInstanceId });
|
||||
const taskQuery = await apiService.getInstance().activiti.taskApi.listTasks({ processInstanceId: processInstanceId });
|
||||
|
||||
const taskId = taskQuery.data[0].id;
|
||||
|
||||
const taskComments = await this.alfrescoJsApi.activiti.commentsApi.getTaskComments(taskId, { 'latestFirst': true });
|
||||
const taskComments = await apiService.getInstance().activiti.commentsApi.getTaskComments(taskId, { 'latestFirst': true });
|
||||
await expect(await taskComments.total).toEqual(0);
|
||||
});
|
||||
|
||||
it('[C260466] Should be able to display comments from Task on the related Process', async () => {
|
||||
const taskQuery = await this.alfrescoJsApi.activiti.taskApi.listTasks({ processInstanceId: processInstanceId });
|
||||
const taskQuery = await apiService.getInstance().activiti.taskApi.listTasks({ processInstanceId: processInstanceId });
|
||||
|
||||
const taskId = taskQuery.data[0].id;
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.addTaskComment({ message: 'Task Comment' }, taskId);
|
||||
await apiService.getInstance().activiti.taskApi.addTaskComment({ message: 'Task Comment' }, taskId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList(processName);
|
||||
|
||||
const addedTaskComment = await this.alfrescoJsApi.activiti.commentsApi.getProcessInstanceComments(processInstanceId, { 'latestFirst': true });
|
||||
const addedTaskComment = await apiService.getInstance().activiti.commentsApi.getProcessInstanceComments(processInstanceId, { 'latestFirst': true });
|
||||
|
||||
await commentsPage.checkUserIconIsDisplayed();
|
||||
|
||||
|
||||
@@ -17,23 +17,27 @@
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { CommentsPage } from '../pages/adf/comments.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Comment component for Processes', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
const commentsPage = new CommentsPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
let user, tenantId, appId, secondUser, newTaskId;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let user, appId, secondUser, newTaskId;
|
||||
|
||||
const taskName = {
|
||||
completed_task: 'Test Completed',
|
||||
@@ -41,42 +45,31 @@ describe('Comment component for Processes', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
user = await usersActions.createUser();
|
||||
secondUser = await usersActions.createUser(new UserModel({ tenantId: user.tenantId }));
|
||||
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
tenantId = user.tenantId;
|
||||
|
||||
secondUser = await users.createApsUser(this.alfrescoJsApi, tenantId);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
|
||||
const importedApp = await new ApplicationsUtil(this.alfrescoJsApi).importPublishDeployApp(app.file_path);
|
||||
const importedApp = await new ApplicationsUtil(apiService).importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
});
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
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);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C260237] Should not be able to add a comment on a completed task', async () => {
|
||||
const newTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskName.completed_task });
|
||||
const newTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskName.completed_task }));
|
||||
|
||||
const taskId = newTask.id;
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskActionsApi.completeTask(taskId);
|
||||
await apiService.getInstance().activiti.taskActionsApi.completeTask(taskId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -87,17 +80,17 @@ describe('Comment component for Processes', () => {
|
||||
});
|
||||
|
||||
it('[C212864] Should be able to add multiple comments on a single task using different users', async () => {
|
||||
const newTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskName.multiple_users });
|
||||
const newTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskName.multiple_users }));
|
||||
|
||||
newTaskId = newTask.id;
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.involveUser(newTaskId, { email: secondUser.email });
|
||||
await apiService.getInstance().activiti.taskApi.involveUser(newTaskId, { email: secondUser.email });
|
||||
|
||||
const taskComment = { message: 'Task Comment' };
|
||||
const secondTaskComment = { message: 'Second Task Comment' };
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.addTaskComment(taskComment, newTaskId);
|
||||
await this.alfrescoJsApi.activiti.taskApi.addTaskComment(secondTaskComment, newTaskId);
|
||||
await apiService.getInstance().activiti.taskApi.addTaskComment(taskComment, newTaskId);
|
||||
await apiService.getInstance().activiti.taskApi.addTaskComment(secondTaskComment, newTaskId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -105,7 +98,7 @@ describe('Comment component for Processes', () => {
|
||||
await taskPage.tasksListPage().selectRow(taskName.multiple_users);
|
||||
await taskPage.taskDetails().selectActivityTab();
|
||||
|
||||
const totalCommentsLatest = await this.alfrescoJsApi.activiti.taskApi.getTaskComments(newTaskId, { 'latestFirst': true });
|
||||
const totalCommentsLatest = await apiService.getInstance().activiti.taskApi.getTaskComments(newTaskId, { 'latestFirst': true });
|
||||
|
||||
const thirdTaskComment = { message: 'Third Task Comment' };
|
||||
|
||||
@@ -123,9 +116,9 @@ describe('Comment component for Processes', () => {
|
||||
await expect(await commentsPage.getTime(0)).toMatch(/(ago|few)/);
|
||||
await expect(await commentsPage.getTime(1)).toMatch(/(ago|few)/);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(secondUser);
|
||||
await loginPage.login(secondUser.email, secondUser.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.addTaskComment(thirdTaskComment, newTaskId);
|
||||
await apiService.getInstance().activiti.taskApi.addTaskComment(thirdTaskComment, newTaskId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -133,7 +126,7 @@ describe('Comment component for Processes', () => {
|
||||
await taskPage.tasksListPage().selectRow(taskName.multiple_users);
|
||||
await taskPage.taskDetails().selectActivityTab();
|
||||
|
||||
const totalComments = await this.alfrescoJsApi.activiti.taskApi.getTaskComments(newTaskId, { 'latestFirst': true });
|
||||
const totalComments = await apiService.getInstance().activiti.taskApi.getTaskComments(newTaskId, { 'latestFirst': true });
|
||||
|
||||
await commentsPage.checkUserIconIsDisplayed();
|
||||
await commentsPage.checkUserIconIsDisplayed();
|
||||
|
||||
@@ -17,21 +17,24 @@
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { FiltersPage } from '../pages/adf/process-services/filters.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Sorting for process filters', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const filtersPage = new FiltersPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let tenantId, appId, user, processesQuery;
|
||||
let importedApp;
|
||||
|
||||
@@ -46,45 +49,36 @@ describe('Sorting for process filters', () => {
|
||||
completed_least_recently: 'Completed - Least recently'
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C260476] Should be able to create a filter on APS for running processes - Oldest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.running_old_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-asc', 'name': '', 'state': 'running' }
|
||||
});
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
@@ -93,7 +87,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await processFiltersPage.checkFilterIsDisplayed(processFilter.running_old_first);
|
||||
await filtersPage.goToFilter(processFilter.running_old_first);
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'running', 'sort': 'created-asc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(firstProc.name);
|
||||
@@ -102,19 +96,19 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C260477] Should be able to create a filter on APS for completed processes - Oldest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.completed_old_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-asc', 'name': '', 'state': 'completed' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
@@ -122,7 +116,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.completed_old_first);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'completed', 'sort': 'created-asc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(firstProc.name);
|
||||
@@ -131,12 +125,12 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C260478] Should be able to create a filter on APS for all processes - Oldest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.all_old_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-asc', 'name': '', 'state': 'all' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
@@ -145,9 +139,9 @@ describe('Sorting for process filters', () => {
|
||||
const deleteSecondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const deleteThirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteFirstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteSecondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteThirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteFirstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteSecondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteThirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
@@ -155,7 +149,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.all_old_first);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'all', 'sort': 'created-asc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(firstProc.name);
|
||||
@@ -167,12 +161,12 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C260479] Should be able to create a filter on APS for running processes - Newest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.running_new_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'running' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
@@ -183,7 +177,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.running_new_first);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'running', 'sort': 'created-desc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(thirdProc.name);
|
||||
@@ -192,26 +186,26 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C260480] Should be able to create a filter on APS for completed processes - Newest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.completed_new_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'completed' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
await processFiltersPage.checkFilterIsDisplayed(processFilter.completed_new_first);
|
||||
|
||||
await filtersPage.goToFilter(processFilter.completed_new_first);
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'completed', 'sort': 'created-desc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(thirdProc.name);
|
||||
@@ -220,12 +214,12 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C260481] Should be able to create a filter on APS for all processes - Newest first and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.all_new_first, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'all' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
@@ -234,9 +228,9 @@ describe('Sorting for process filters', () => {
|
||||
const deleteSecondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const deleteThirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteFirstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteSecondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(deleteThirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteFirstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteSecondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(deleteThirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
@@ -244,7 +238,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.all_new_first);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'all', 'sort': 'created-desc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(deleteThirdProc.name);
|
||||
@@ -256,19 +250,19 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C272815] Should be able to create a filter on APS for completed processes - Completed most recently and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.completed_most_recently, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'ended-asc', 'name': '', 'state': 'completed' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
@@ -276,7 +270,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.completed_most_recently);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'completed', 'sort': 'ended-asc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(secondProc.name);
|
||||
@@ -285,19 +279,19 @@ describe('Sorting for process filters', () => {
|
||||
});
|
||||
|
||||
it('[C272816] Should be able to create a filter on APS for completed processes - Completed least recently and check on ADF', async () => {
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null, 'name': processFilter.completed_least_recently, 'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'ended-desc', 'name': '', 'state': 'completed' }
|
||||
});
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const firstProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const secondProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
const thirdProc = await processUtil.startProcessOfApp(importedApp.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await this.alfrescoJsApi.activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(secondProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(firstProc.id);
|
||||
await apiService.getInstance().activiti.processInstancesApi.deleteProcessInstance(thirdProc.id);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
@@ -305,7 +299,7 @@ describe('Sorting for process filters', () => {
|
||||
|
||||
await filtersPage.goToFilter(processFilter.completed_least_recently);
|
||||
|
||||
processesQuery = await this.alfrescoJsApi.activiti.processApi.getProcessInstances({
|
||||
processesQuery = await apiService.getInstance().activiti.processApi.getProcessInstances({
|
||||
'processDefinitionId': null, 'appDefinitionId': null, 'state': 'completed', 'sort': 'ended-desc'
|
||||
});
|
||||
await expect(processesQuery.data[0].name).toEqual(thirdProc.name);
|
||||
|
||||
@@ -17,23 +17,25 @@
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { ApiService, LoginSSOPage } from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { AppSettingsTogglesPage } from '../pages/adf/process-services/dialog/app-settings-toggles.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('New Process Filters', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const appSettingsToggles = new AppSettingsTogglesPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let tenantId, user, filterId, customProcessFilter;
|
||||
|
||||
const processFilter = {
|
||||
@@ -48,28 +50,21 @@ describe('New Process Filters', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
});
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C279965] Should be able to view default filters on ADF', async () => {
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
@@ -80,7 +75,7 @@ describe('New Process Filters', () => {
|
||||
});
|
||||
|
||||
it('[C260473] Should be able to create a new filter on APS and display it on ADF', async () => {
|
||||
customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
customProcessFilter = await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null,
|
||||
'name': processFilter.new_filter,
|
||||
'icon': 'glyphicon-random',
|
||||
@@ -95,7 +90,7 @@ describe('New Process Filters', () => {
|
||||
});
|
||||
|
||||
it('[C286450] Should display the process filter icon when a custom filter is added', async () => {
|
||||
customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
customProcessFilter = await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null,
|
||||
'name': processFilter.new_icon,
|
||||
'icon': 'glyphicon-cloud',
|
||||
@@ -117,20 +112,20 @@ describe('New Process Filters', () => {
|
||||
});
|
||||
|
||||
it('[C260474] Should be able to edit a filter on APS and check it on ADF', async () => {
|
||||
this.alfrescoJsApi.activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, {
|
||||
await apiService.getInstance().activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, {
|
||||
'appId': null,
|
||||
'name': processFilter.edited,
|
||||
'icon': 'glyphicon-random',
|
||||
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'running' }
|
||||
});
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
await processFiltersPage.checkFilterIsDisplayed(processFilter.edited);
|
||||
await processFiltersPage.checkFilterIsDisplayed(processFilter.edited);
|
||||
});
|
||||
|
||||
it('[C286451] Should display changes on a process filter when this filter icon is edited', async () => {
|
||||
customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
customProcessFilter = await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null,
|
||||
'name': processFilter.edit_icon,
|
||||
'icon': 'glyphicon-random',
|
||||
@@ -143,7 +138,7 @@ describe('New Process Filters', () => {
|
||||
|
||||
await processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon);
|
||||
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, {
|
||||
await apiService.getInstance().activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, {
|
||||
'appId': null,
|
||||
'name': processFilter.edit_icon,
|
||||
'icon': 'glyphicon-cloud',
|
||||
@@ -175,7 +170,7 @@ describe('New Process Filters', () => {
|
||||
});
|
||||
|
||||
it('[C260475] Should be able to delete a filter on APS and check it on ADF', async () => {
|
||||
customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
customProcessFilter = await apiService.getInstance().activiti.userFiltersApi.createUserProcessInstanceFilter({
|
||||
'appId': null,
|
||||
'name': processFilter.deleted,
|
||||
'icon': 'glyphicon-random',
|
||||
@@ -184,7 +179,7 @@ describe('New Process Filters', () => {
|
||||
|
||||
filterId = customProcessFilter.id;
|
||||
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.deleteUserProcessInstanceFilter(filterId);
|
||||
await apiService.getInstance().activiti.userFiltersApi.deleteUserProcessInstanceFilter(filterId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
|
||||
|
||||
@@ -15,27 +15,41 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { DateUtil, LoginPage, PaginationPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import {
|
||||
ArrayUtil,
|
||||
DateUtil,
|
||||
LoginSSOPage,
|
||||
PaginationPage,
|
||||
ApplicationsUtil,
|
||||
ProcessUtil,
|
||||
ApiService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { AppsRuntimeActions } from '../actions/APS/apps-runtime.actions';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { TaskListDemoPage } from '../pages/adf/demo-shell/process-services/task-list-demo.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { Util } from '../util/util';
|
||||
import moment = require('moment');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Start Task - Custom App', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const secondApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskListSinglePage = new TaskListDemoPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const appsRuntime = new AppsRuntimeActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
let appRuntime, secondAppRuntime;
|
||||
const secondApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
let appModel;
|
||||
const completedTasks = [];
|
||||
const paginationTasksName = ['t01', 't02', 't03', 't04', 't05', 't06', 't07', 't08', 't09', 't10', 't11', 't12', 't13', 'taskOne', 'taskTwo', 'taskOne'];
|
||||
@@ -67,60 +81,46 @@ describe('Start Task - Custom App', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const appsRuntime = new AppsRuntimeActions();
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
appRuntime = await appsRuntime.getRuntimeAppByName(this.alfrescoJsApi, app.title);
|
||||
appRuntime = await appsRuntime.getRuntimeAppByName(app.title);
|
||||
|
||||
await applicationsService.importPublishDeployApp(secondApp.file_path);
|
||||
|
||||
secondAppRuntime = await appsRuntime.getRuntimeAppByName(this.alfrescoJsApi, secondApp.title);
|
||||
secondAppRuntime = await appsRuntime.getRuntimeAppByName(secondApp.title);
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
processDefinitionId = await processUtil.startProcessOfApp(appModel.name);
|
||||
await processUtil.startProcessOfApp(appModel.name);
|
||||
await processUtil.startProcessOfApp(appModel.name);
|
||||
await processUtil.startProcessOfApp(appModel.name);
|
||||
|
||||
for (let i = 1; i < paginationTasksName.length; i++) {
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ 'name': paginationTasksName[i] });
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ 'name': paginationTasksName[i] }));
|
||||
}
|
||||
|
||||
for (let i = 0; i < 3; i++) {
|
||||
completedTasks[i] = await this.alfrescoJsApi.activiti.taskApi.createNewTask({
|
||||
completedTasks[i] = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({
|
||||
'name': completedTasksName[i],
|
||||
'dueDate': DateUtil.formatDate('YYYY-MM-DDTHH:mm:ss.SSSZ', new Date(), i + 2)
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.taskActionsApi.completeTask(completedTasks[i].id);
|
||||
}));
|
||||
await apiService.getInstance().activiti.taskActionsApi.completeTask(completedTasks[i].id);
|
||||
}
|
||||
|
||||
taskWithDueDate = await this.alfrescoJsApi.activiti.taskApi.createNewTask({
|
||||
taskWithDueDate = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({
|
||||
'name': paginationTasksName[0],
|
||||
'dueDate': currentDateStandardFormat
|
||||
});
|
||||
}));
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
describe('', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await navigationBarPage.clickTaskListButton();
|
||||
await taskListSinglePage.clickResetButton();
|
||||
@@ -132,7 +132,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks);
|
||||
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
});
|
||||
|
||||
await expect(await paginationPage.getCurrentPage()).toEqual('Page 1');
|
||||
@@ -150,7 +150,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks);
|
||||
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
});
|
||||
await paginationPage.checkNextPageButtonIsDisabled();
|
||||
await paginationPage.checkPreviousPageButtonIsDisabled();
|
||||
@@ -164,7 +164,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
|
||||
});
|
||||
|
||||
await paginationPage.clickOnNextPage();
|
||||
@@ -176,7 +176,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
|
||||
});
|
||||
|
||||
await paginationPage.clickOnNextPage();
|
||||
@@ -187,7 +187,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
|
||||
});
|
||||
|
||||
await paginationPage.clickOnNextPage();
|
||||
@@ -197,7 +197,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -209,7 +209,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(0, 10))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(0, 10))).toEqual(true);
|
||||
});
|
||||
await paginationPage.clickOnNextPage();
|
||||
currentPage++;
|
||||
@@ -218,7 +218,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(10, 20))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(10, 20))).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -230,7 +230,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue * currentPage + ' of ' + nrOfTasks);
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fifteenValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(0, 15))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(0, 15))).toEqual(true);
|
||||
});
|
||||
currentPage++;
|
||||
await paginationPage.clickOnNextPage();
|
||||
@@ -239,7 +239,7 @@ describe('Start Task - Custom App', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfTasks + ' of ' + nrOfTasks);
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks - itemsPerPage.fifteenValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -266,7 +266,7 @@ describe('Start Task - Custom App', () => {
|
||||
await paginationPage.checkPageSelectorIsDisplayed();
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
|
||||
});
|
||||
|
||||
currentPage++;
|
||||
@@ -277,7 +277,7 @@ describe('Start Task - Custom App', () => {
|
||||
await paginationPage.checkPageSelectorIsDisplayed();
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
|
||||
});
|
||||
|
||||
currentPage++;
|
||||
@@ -288,7 +288,7 @@ describe('Start Task - Custom App', () => {
|
||||
await paginationPage.checkPageSelectorIsDisplayed();
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
|
||||
});
|
||||
|
||||
currentPage++;
|
||||
@@ -299,7 +299,7 @@ describe('Start Task - Custom App', () => {
|
||||
await paginationPage.checkPageSelectorIsDisplayed();
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -426,7 +426,7 @@ describe('Start Task - Custom App', () => {
|
||||
await taskListSinglePage.taskList().checkContentIsNotDisplayed(completedTasks[1].name);
|
||||
await taskListSinglePage.taskList().checkContentIsNotDisplayed(completedTasks[2].name);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
});
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(20);
|
||||
});
|
||||
@@ -438,7 +438,7 @@ describe('Start Task - Custom App', () => {
|
||||
await taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[1].name);
|
||||
await taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[2].name);
|
||||
await taskListSinglePage.taskList().getAllRowsNameColumn().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, allTasksName)).toEqual(true);
|
||||
});
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(23);
|
||||
});
|
||||
@@ -455,7 +455,7 @@ describe('Start Task - Custom App', () => {
|
||||
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(4);
|
||||
await taskListSinglePage.getAllProcessDefinitionIds().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, processDefinitionIds)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, processDefinitionIds)).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -479,7 +479,7 @@ describe('Start Task - Custom App', () => {
|
||||
|
||||
await expect(await taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
|
||||
await taskListSinglePage.getAllProcessInstanceIds().then(async (list) => {
|
||||
await expect(Util.arrayContainsArray(list, processInstanceIds)).toEqual(true);
|
||||
await expect(ArrayUtil.arrayContainsArray(list, processInstanceIds)).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -15,39 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget, DatePickerCalendarPage, DateUtil, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage,
|
||||
Widget,
|
||||
DatePickerCalendarPage,
|
||||
DateUtil,
|
||||
ApplicationsUtil,
|
||||
ApiService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Dynamic Table', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const datePicker = new DatePickerCalendarPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const widget = new Widget();
|
||||
const users = new UsersActions();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let user, tenantId, appId;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
tenantId = user.tenantId;
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
describe('Date Picker', () => {
|
||||
@@ -65,16 +68,16 @@ describe('Dynamic Table', () => {
|
||||
const rowPosition = 0;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
await alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -126,17 +129,17 @@ describe('Dynamic Table', () => {
|
||||
const dropdown = widget.dropdown();
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
await alfrescoJsApi.activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -16,75 +16,70 @@
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import { LoginPage, ApplicationsUtil, StartProcessPage } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, StartProcessPage, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
import { ProcessListPage } from '../pages/adf/process-services/process-list.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Empty Process List Test', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const appWithProcess = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
const simpleAppWithUserForm = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const processListPage = new ProcessListPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
|
||||
const appA = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
const appB = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const apiService = new ApiService();
|
||||
|
||||
let user;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await applicationsService.importPublishDeployApp(appWithProcess.file_path);
|
||||
await applicationsService.importPublishDeployApp(simpleAppWithUserForm.file_path);
|
||||
|
||||
await applicationsService.importPublishDeployApp(appA.file_path);
|
||||
await applicationsService.importPublishDeployApp(appB.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
it('[C260494] Should add process to list when a process is created', async () => {
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await (await processServicesPage.goToApp(appA.title)).clickProcessButton();
|
||||
await (await processServicesPage.goToApp(appWithProcess.title)).clickProcessButton();
|
||||
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
|
||||
await expect(await processDetailsPage.checkProcessDetailsMessage()).toEqual('No process details found');
|
||||
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.selectFromProcessDropdown(appA.process_wse_name);
|
||||
await startProcessPage.selectFromProcessDropdown(appWithProcess.process_wse_name);
|
||||
await startProcessPage.clickStartProcessButton();
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toEqual(1);
|
||||
|
||||
await processDetailsPage.checkProcessDetailsCard();
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await (await processServicesPage.goToApp(appB.title)).clickProcessButton();
|
||||
await (await processServicesPage.goToApp(simpleAppWithUserForm.title)).clickProcessButton();
|
||||
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
|
||||
await expect(await processDetailsPage.checkProcessDetailsMessage()).toEqual('No process details found');
|
||||
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.selectFromProcessDropdown(appB.processName);
|
||||
await startProcessPage.selectFromProcessDropdown(simpleAppWithUserForm.processName);
|
||||
await startProcessPage.clickStartProcessButton();
|
||||
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toEqual(1);
|
||||
|
||||
@@ -15,20 +15,21 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget, FormPage } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, FormPage, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Form Component', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const formPage = new FormPage();
|
||||
const widget = new Widget();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let tenantId, user;
|
||||
|
||||
const fields = {
|
||||
@@ -48,30 +49,23 @@ describe('Form Component', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
const users = new UsersActions();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
|
||||
await navigationBarPage.navigateToProcessServicesFormPage();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C286505] Should be able to display errors under the Error Log section', async () => {
|
||||
|
||||
@@ -15,57 +15,52 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget, ApplicationsUtil, StartProcessPage } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, ApplicationsUtil, StartProcessPage, ApiService } from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
import { TaskDetailsPage } from '../pages/adf/process-services/task-details.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
|
||||
describe('Form widgets - People ', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.APP_WITH_USER_WIDGET;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
let appModel;
|
||||
let alfrescoJsApi;
|
||||
const widget = new Widget();
|
||||
const startProcess = new StartProcessPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const taskDetails = new TaskDetailsPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const widget = new Widget();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
});
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await (await (await new NavigationBarPage().navigateToProcessServicesPage()).goToApp(appModel.name)).clickProcessButton();
|
||||
@@ -82,7 +77,7 @@ describe('Form widgets - People ', () => {
|
||||
await processDetailsPage.clickOnActiveTask();
|
||||
|
||||
const taskId = await taskDetails.getId();
|
||||
const taskForm = await alfrescoJsApi.activiti.taskApi.getTaskForm(taskId);
|
||||
const taskForm: any = await apiService.getInstance().activiti.taskApi.getTaskForm(taskId);
|
||||
const userEmail = taskForm['fields'][0].fields['1'][0].value.email;
|
||||
await expect(userEmail).toEqual(processUserModel.email);
|
||||
});
|
||||
@@ -102,7 +97,7 @@ describe('Form widgets - People ', () => {
|
||||
await processDetailsPage.clickOnCompletedTask();
|
||||
|
||||
const taskId = await taskDetails.getId();
|
||||
const taskForm = await alfrescoJsApi.activiti.taskApi.getTaskForm(taskId);
|
||||
const taskForm: any = await apiService.getInstance().activiti.taskApi.getTaskForm(taskId);
|
||||
const userEmail = taskForm['fields'][0].fields['1'][0].value.email;
|
||||
await expect(userEmail).toEqual(processUserModel.email);
|
||||
});
|
||||
|
||||
@@ -15,49 +15,45 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import FormDefinitionModel = require('../models/APS/FormDefinitionModel');
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
const formInstance = new FormDefinitionModel();
|
||||
|
||||
describe('Form widgets', () => {
|
||||
let alfrescoJsApi;
|
||||
|
||||
const taskPage = new TasksPage();
|
||||
const newTask = 'First task';
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
const loginPage = new LoginSSOPage();
|
||||
const widget = new Widget();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const newTask = 'First task';
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
|
||||
describe('Form widgets', () => {
|
||||
|
||||
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const appFields = app.form_fields;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await (await new NavigationBarPage().navigateToProcessServicesPage()).goToApp(appModel.name);
|
||||
|
||||
@@ -74,15 +70,15 @@ describe('Form widgets', () => {
|
||||
|
||||
const response = await taskPage.taskDetails().getId();
|
||||
|
||||
const formDefinition = await alfrescoJsApi.activiti.taskFormsApi.getTaskForm(response);
|
||||
const formDefinition = await apiService.getInstance().activiti.taskFormsApi.getTaskForm(response);
|
||||
formInstance.setFields(formDefinition.fields);
|
||||
formInstance.setAllWidgets(formDefinition.fields);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C272778] Should display text and multi-line in form', async () => {
|
||||
@@ -141,12 +137,11 @@ describe('Form widgets', () => {
|
||||
});
|
||||
|
||||
it('[C272783] Should display displayText and displayValue in form', async () => {
|
||||
|
||||
await expect(await widget.displayTextWidget().getFieldLabel(appFields.displayText_id))
|
||||
await expect(await widget.displayTextWidget().getFieldLabel(appFields.displayText_id))
|
||||
.toEqual(formInstance.getWidgetBy('id', appFields.displayText_id).value);
|
||||
await expect(await widget.displayValueWidget().getFieldLabel(appFields.displayValue_id))
|
||||
await expect(await widget.displayValueWidget().getFieldLabel(appFields.displayValue_id))
|
||||
.toEqual(formInstance.getWidgetBy('id', appFields.displayValue_id).value || 'Display value' || '');
|
||||
await expect(await widget.displayValueWidget().getFieldValue(appFields.displayValue_id))
|
||||
await expect(await widget.displayValueWidget().getFieldValue(appFields.displayValue_id))
|
||||
.toEqual(formInstance.getWidgetBy('id', appFields.displayValue_id).value || '');
|
||||
});
|
||||
|
||||
@@ -172,53 +167,43 @@ describe('Form widgets', () => {
|
||||
});
|
||||
|
||||
it('[C268149] Should display hyperlink, dropdown and dynamic table in form', async () => {
|
||||
|
||||
await expect(await widget.hyperlink().getFieldText(appFields.hyperlink_id))
|
||||
await expect(await widget.hyperlink().getFieldText(appFields.hyperlink_id))
|
||||
.toEqual(formInstance.getWidgetBy('id', appFields.hyperlink_id).hyperlinkUrl || '');
|
||||
await expect(await taskPage.formFields().getFieldLabel(appFields.hyperlink_id))
|
||||
await expect(await taskPage.formFields().getFieldLabel(appFields.hyperlink_id))
|
||||
.toEqual(formInstance.getWidgetBy('id', appFields.hyperlink_id).name);
|
||||
|
||||
await expect(await taskPage.formFields().getFieldLabel(appFields.dropdown_id))
|
||||
await expect(await taskPage.formFields().getFieldLabel(appFields.dropdown_id))
|
||||
.toContain(formInstance.getWidgetBy('id', appFields.dropdown_id).name);
|
||||
await expect(widget.dropdown().getSelectedOptionText(appFields.dropdown_id))
|
||||
await expect(widget.dropdown().getSelectedOptionText(appFields.dropdown_id))
|
||||
.toContain(formInstance.getWidgetBy('id', appFields.dropdown_id).value);
|
||||
|
||||
await expect(await widget.dynamicTable().getFieldLabel(appFields.dynamicTable_id))
|
||||
await expect(await widget.dynamicTable().getFieldLabel(appFields.dynamicTable_id))
|
||||
.toContain(formInstance.getWidgetBy('id', appFields.dynamicTable_id).name);
|
||||
await expect(await widget.dynamicTable().getColumnName(appFields.dynamicTable_id))
|
||||
await expect(await widget.dynamicTable().getColumnName(appFields.dynamicTable_id))
|
||||
.toContain(formInstance.getWidgetBy('id', appFields.dynamicTable_id).columnDefinitions[0].name);
|
||||
});
|
||||
});
|
||||
|
||||
describe('with fields involving other people', () => {
|
||||
|
||||
const app = browser.params.resources.Files.FORM_ADF;
|
||||
let deployedApp, process;
|
||||
const appFields = app.form_fields;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
const processUtil = new ProcessUtil(alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
process = await processUtil.startProcessOfApp(appModel.name);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -229,9 +214,9 @@ describe('Form widgets', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C260405] Value fields configured with process variables', async () => {
|
||||
|
||||
@@ -15,15 +15,18 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserActions, BrowserVisibility, LocalStorageUtil, LoginPage, StringUtil, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import {
|
||||
AlfrescoApiCompatibility as AlfrescoApi,
|
||||
AppDefinitionRepresentation,
|
||||
LightTenantRepresentation
|
||||
} from '@alfresco/js-api';
|
||||
BrowserActions,
|
||||
BrowserVisibility,
|
||||
LocalStorageUtil,
|
||||
LoginSSOPage,
|
||||
StringUtil,
|
||||
ApplicationsUtil,
|
||||
ApiService, UserModel
|
||||
} from '@alfresco/adf-testing';
|
||||
import { AppDefinitionRepresentation } from '@alfresco/js-api';
|
||||
import { browser, by, element } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
@@ -34,13 +37,17 @@ import { infoDrawerConfiguration } from './config/task.config';
|
||||
|
||||
describe('Info Drawer', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const apiService = new ApiService();
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const firstComment = 'comm1';
|
||||
|
||||
const date = {
|
||||
@@ -62,32 +69,29 @@ describe('Info Drawer', () => {
|
||||
let processUserModelFullName: string;
|
||||
let assigneeUserModelFullName: string;
|
||||
let appCreated: AppDefinitionRepresentation;
|
||||
let newTenant: LightTenantRepresentation;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
this.alfrescoApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
await this.alfrescoApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
newTenant = await this.alfrescoApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
const assigneeUserModel = await users.createApsUser(this.alfrescoApi, newTenant.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
const assigneeUserModel = await usersActions.createUser();
|
||||
assigneeUserModelFullName = assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName;
|
||||
const processUserModel = await users.createApsUser(this.alfrescoApi, newTenant.id);
|
||||
|
||||
processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId }));
|
||||
processUserModelFullName = processUserModel.firstName + ' ' + processUserModel.lastName;
|
||||
await this.alfrescoApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoApi);
|
||||
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appCreated = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoApi.activiti.modelsApi.deleteModel(appCreated.id);
|
||||
await this.alfrescoApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoApi.activiti.adminTenantsApi.deleteTenant(newTenant.id);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appCreated.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, PaginationPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, PaginationPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
@@ -25,56 +24,49 @@ import { ProcessFiltersPage } from '../pages/adf/process-services/process-filter
|
||||
|
||||
describe('Process List - Pagination when adding processes', () => {
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const itemsPerPage = {
|
||||
fifteen: '15',
|
||||
fifteenValue: 15
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const nrOfProcesses = 25;
|
||||
let page, totalPages;
|
||||
let i;
|
||||
let resultApp;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
resultApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
for (i = 0; i < (nrOfProcesses - 5); i++) {
|
||||
for (let i = 0; i < 20; i++) {
|
||||
await processUtil.startProcessOfApp(resultApp.name);
|
||||
}
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await (await (await new NavigationBarPage().navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
});
|
||||
});
|
||||
|
||||
it('[C261046] Should keep Items per page after adding processes', async () => {
|
||||
await processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
await processFiltersPage.waitForTableBody();
|
||||
totalPages = 2;
|
||||
page = 1;
|
||||
const totalPages = 2;
|
||||
let page = 1;
|
||||
|
||||
await paginationPage.selectItemsPerPage(itemsPerPage.fifteen);
|
||||
await processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
@@ -83,13 +75,12 @@ describe('Process List - Pagination when adding processes', () => {
|
||||
await expect(await paginationPage.getCurrentPage()).toEqual('Page ' + page);
|
||||
await expect(await paginationPage.getTotalPages()).toEqual('of ' + totalPages);
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue * page + ' of ' + (nrOfProcesses - 5));
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue * page + ' of 20' );
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toBe(itemsPerPage.fifteenValue);
|
||||
await paginationPage.checkNextPageButtonIsEnabled();
|
||||
await paginationPage.checkPreviousPageButtonIsDisabled();
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
for (i; i < nrOfProcesses; i++) {
|
||||
for (let i = 0; i < 5; i++) {
|
||||
await processUtil.startProcessOfApp(resultApp.name);
|
||||
}
|
||||
|
||||
@@ -100,8 +91,8 @@ describe('Process List - Pagination when adding processes', () => {
|
||||
await expect(await paginationPage.getCurrentPage()).toEqual('Page ' + page);
|
||||
await expect(await paginationPage.getTotalPages()).toEqual('of ' + totalPages);
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfProcesses + ' of ' + nrOfProcesses);
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toBe(nrOfProcesses - itemsPerPage.fifteenValue);
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 16-25 of 25' );
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toBe(10);
|
||||
await paginationPage.checkNextPageButtonIsDisabled();
|
||||
await paginationPage.checkPreviousPageButtonIsEnabled();
|
||||
});
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, PaginationPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, PaginationPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
@@ -25,12 +24,17 @@ import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Items per page set to 15 and adding of tasks', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
let currentPage = 1;
|
||||
const nrOfTasks = 25;
|
||||
const totalPages = 2;
|
||||
@@ -43,29 +47,20 @@ describe('Items per page set to 15 and adding of tasks', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
resultApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
for (i = 0; i < (nrOfTasks - 5); i++) {
|
||||
await processUtil.startProcessOfApp(resultApp.name);
|
||||
}
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
it('[C260306] Items per page set to 15 and adding of tasks', async () => {
|
||||
@@ -79,7 +74,7 @@ describe('Items per page set to 15 and adding of tasks', () => {
|
||||
await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + (nrOfTasks - 5));
|
||||
await expect(await taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fifteenValue);
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
for (i; i < nrOfTasks; i++) {
|
||||
await processUtil.startProcessOfApp(resultApp.name);
|
||||
}
|
||||
|
||||
@@ -15,69 +15,62 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { ApiService, LoginSSOPage, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('People component', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
let processUserModel, assigneeUserModel, secondAssigneeUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
const peopleTitle = 'People this task is shared with ';
|
||||
const processServices = new ProcessServicesPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let processUserModel, assigneeUserModel, secondAssigneeUserModel;
|
||||
const peopleTitle = 'People this task is shared with ';
|
||||
|
||||
const tasks = ['no people involved task', 'remove people task', 'can not complete task', 'multiple users', 'completed filter'];
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
assigneeUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
secondAssigneeUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
assigneeUserModel = await usersActions.createUser();
|
||||
secondAssigneeUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId }));
|
||||
processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId }));
|
||||
|
||||
const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location);
|
||||
const file = fs.createReadStream(pathFile);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
|
||||
await apiService.getInstance().activiti.appsApi.importAppDefinition(file);
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[0] });
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[1] });
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[2] });
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[3] });
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: tasks[4] });
|
||||
});
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[0] }));
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[1] }));
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[2] }));
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[3] }));
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: tasks[4] }));
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
});
|
||||
});
|
||||
|
||||
it('[C279989] Should no people be involved when no user is typed', async () => {
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
|
||||
@@ -162,7 +155,7 @@ describe('People component', () => {
|
||||
await expect(await taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName))
|
||||
.toEqual(assigneeUserModel.email);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel);
|
||||
await loginPage.login(assigneeUserModel.email, assigneeUserModel.password);
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]);
|
||||
@@ -220,7 +213,7 @@ describe('People component', () => {
|
||||
await expect(await taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName))
|
||||
.toEqual(assigneeUserModel.email);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel);
|
||||
await loginPage.login(assigneeUserModel.email, assigneeUserModel.password);
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
|
||||
|
||||
@@ -15,25 +15,37 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, FileBrowserUtil, ViewerPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage,
|
||||
FileBrowserUtil,
|
||||
ViewerPage,
|
||||
ApplicationsUtil,
|
||||
ProcessUtil,
|
||||
ApiService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
import { AttachmentListPage } from '../pages/adf/process-services/attachment-list.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Attachment list action menu for processes', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const viewerPage = new ViewerPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const pngFile = new FileModel({
|
||||
location: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_location,
|
||||
name: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_name
|
||||
@@ -50,40 +62,32 @@ describe('Attachment list action menu for processes', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
const user = await usersActions.createUser();
|
||||
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = importedApp.id;
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
await processUtil.startProcessOfApp(importedApp.name, processName.completed);
|
||||
await processUtil.startProcessOfApp(importedApp.name, processName.active);
|
||||
await processUtil.startProcessOfApp(importedApp.name, processName.taskApp);
|
||||
await processUtil.startProcessOfApp(importedApp.name, processName.emptyList);
|
||||
await processUtil.startProcessOfApp(importedApp.name, processName.dragDrop);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
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);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C260228] Should be able to access options of a file attached to an active process', async () => {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowserActions, ApplicationsUtil, StartProcessPage } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, ApplicationsUtil, StartProcessPage, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
@@ -23,7 +23,7 @@ import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
import { ProcessListPage } from '../pages/adf/process-services/process-list.page';
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi, UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { ProcessListDemoPage } from '../pages/adf/demo-shell/process-services/process-list-demo.page';
|
||||
@@ -31,7 +31,9 @@ import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Process Filters Test', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processListPage = new ProcessListPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
@@ -40,9 +42,12 @@ describe('Process Filters Test', () => {
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
let appModel, user;
|
||||
|
||||
const app = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel, user;
|
||||
|
||||
const processTitle = {
|
||||
running: 'Test_running',
|
||||
@@ -58,19 +63,12 @@ describe('Process Filters Test', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -133,24 +131,23 @@ describe('Process Filters Test', () => {
|
||||
});
|
||||
|
||||
it('[C280407] Should be able to access the filters with URL', async () => {
|
||||
|
||||
const defaultFiltersNumber = 3;
|
||||
let deployedApp, processFilterUrl;
|
||||
|
||||
const appDefinitions = await this.alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
|
||||
processFilterUrl = browser.params.testConfig.adf.url + '/activiti/apps/' + deployedApp.id + '/processes/';
|
||||
const taskAppFilters = await this.alfrescoJsApi.activiti.userFiltersApi.getUserProcessInstanceFilters({ appId: deployedApp.id });
|
||||
const taskAppFilters = await apiService.getInstance().activiti.userFiltersApi.getUserProcessInstanceFilters({ appId: deployedApp.id });
|
||||
|
||||
await processServicesPage.goToApp(app.title);
|
||||
await processServiceTabBarPage.clickProcessButton();
|
||||
await processListPage.checkProcessListIsDisplayed();
|
||||
|
||||
await expect(taskAppFilters.size).toBe(defaultFiltersNumber);
|
||||
for (const filter of taskAppFilters) {
|
||||
for (const filter of taskAppFilters.data) {
|
||||
await BrowserActions.getUrl(processFilterUrl + filter.id);
|
||||
await processListPage.checkProcessListIsDisplayed();
|
||||
await processFiltersPage.checkFilterIsHighlighted(filter.name);
|
||||
@@ -218,8 +215,8 @@ describe('Process Filters Test', () => {
|
||||
});
|
||||
|
||||
it('[C260384] Edit default filter', async () => {
|
||||
const runningFilter = (await getFilter(this.alfrescoJsApi)).find(filter => filter.name === 'Running');
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi
|
||||
const runningFilter = (await getFilter()).find(filter => filter.name === 'Running');
|
||||
await apiService.getInstance().activiti.userFiltersApi
|
||||
.updateUserProcessInstanceFilter(runningFilter.id, { ...runningFilter, name: 'Edited Running' });
|
||||
|
||||
await processServicesPage.goToApp(app.title);
|
||||
@@ -229,18 +226,18 @@ describe('Process Filters Test', () => {
|
||||
});
|
||||
|
||||
it('[C260385] Delete default filter', async () => {
|
||||
const allFilter = (await getFilter(this.alfrescoJsApi)).find(filter => filter.name === 'All');
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.deleteUserProcessInstanceFilter(allFilter.id);
|
||||
const allFilter = (await getFilter()).find(filter => filter.name === 'All');
|
||||
await apiService.getInstance().activiti.userFiltersApi.deleteUserProcessInstanceFilter(allFilter.id);
|
||||
|
||||
await processServicesPage.goToApp(app.title);
|
||||
await processServiceTabBarPage.clickProcessButton();
|
||||
await processFiltersPage.checkFilterIsNotDisplayed('All');
|
||||
});
|
||||
|
||||
async function getFilter(alfrescoJsApi): Promise<UserProcessInstanceFilterRepresentation[]> {
|
||||
const apps = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
async function getFilter(): Promise<UserProcessInstanceFilterRepresentation[]> {
|
||||
const apps = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
const { id: appId = 0 } = apps.data.find((application) => application.name === appModel.name);
|
||||
const filters = await alfrescoJsApi.activiti.userFiltersApi.getUserProcessInstanceFilters({ appId });
|
||||
const filters = await apiService.getInstance().activiti.userFiltersApi.getUserProcessInstanceFilters({ appId });
|
||||
return filters.data;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,10 +16,9 @@
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { LoginPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { ProcessListPage } from '../pages/adf/process-services/process-list.page';
|
||||
@@ -28,36 +27,33 @@ import moment = require('moment');
|
||||
|
||||
describe('Process Instance Details', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processListPage = new ProcessListPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel, process, user;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const PROCESS_DATE_FORMAT = 'll';
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
const processModel = await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(appModel.name);
|
||||
const processModel = await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
@@ -65,13 +61,13 @@ describe('Process Instance Details', () => {
|
||||
await processServiceTabBarPage.clickProcessButton();
|
||||
await processListPage.checkProcessListIsDisplayed();
|
||||
|
||||
process = await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processModel.id);
|
||||
process = await apiService.getInstance().activiti.processApi.getProcessInstance(processModel.id);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appModel.id);
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appModel.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C307031] Should display the created date in the default format', async () => {
|
||||
|
||||
@@ -15,20 +15,23 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowserActions, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, ProcessUtil, ApiService, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { ProcessListDemoPage } from '../pages/adf/demo-shell/process-services/process-list-demo.page';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Process List Test', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const processListDemoPage = new ProcessListDemoPage();
|
||||
|
||||
const appWithDateField = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
const appWithUserWidget = browser.params.resources.Files.APP_WITH_USER_WIDGET;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const processListDemoPage = new ProcessListDemoPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const applicationsUtil = new ApplicationsUtil(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let appDateModel, appUserWidgetModel, user;
|
||||
|
||||
const processList = ['Process With Date', 'Process With Date 2', 'Process With User Widget', 'Process With User Widget 2'];
|
||||
@@ -49,51 +52,42 @@ describe('Process List Test', () => {
|
||||
let procWithDate, completedProcWithDate, completedProcWithUserWidget;
|
||||
|
||||
beforeAll(async () => {
|
||||
const apps = new AppsActions();
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
appDateModel = await applicationsUtil.importPublishDeployApp(appWithDateField.file_path);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
|
||||
appDateModel = await applicationsService.importPublishDeployApp(appWithDateField.file_path);
|
||||
|
||||
const processUtil = new ProcessUtil(this.alfrescoJsApi);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
procWithDate = await processUtil.startProcessOfApp(appDateModel.name, processName.procWithDate);
|
||||
completedProcWithDate = await processUtil.startProcessOfApp(appDateModel.name, processName.completedProcWithDate);
|
||||
|
||||
appUserWidgetModel = await applicationsService.importPublishDeployApp(appWithUserWidget.file_path);
|
||||
appUserWidgetModel = await applicationsUtil.importPublishDeployApp(appWithUserWidget.file_path);
|
||||
|
||||
await processUtil.startProcessOfApp(appUserWidgetModel.name, processName.procWithUserWidget);
|
||||
completedProcWithUserWidget = await processUtil.startProcessOfApp(appUserWidgetModel.name, processName.completedProcWithUserWidget);
|
||||
|
||||
appWithDateFieldId = await apps.getAppDefinitionId(this.alfrescoJsApi, appDateModel.id);
|
||||
appWithDateFieldId = await applicationsUtil.getAppDefinitionId(appDateModel.id);
|
||||
|
||||
const procWithDateTaskId = await apps.getProcessTaskId(this.alfrescoJsApi, completedProcWithDate.id);
|
||||
const procWithUserWidgetTaskId = await apps.getProcessTaskId(this.alfrescoJsApi, completedProcWithUserWidget.id);
|
||||
const procWithDateTaskId = await processUtil.getProcessTaskId(completedProcWithDate.id);
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.completeTaskForm(procWithDateTaskId.toString(), { values: { label: null } });
|
||||
await this.alfrescoJsApi.activiti.taskFormsApi.completeTaskForm(procWithUserWidgetTaskId.toString(), { values: { label: null } });
|
||||
const procWithUserWidgetTaskId = await processUtil.getProcessTaskId(completedProcWithUserWidget.id);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await apiService.getInstance().activiti.taskApi.completeTaskForm(procWithDateTaskId.id, { values: { label: null } });
|
||||
await apiService.getInstance().activiti.taskFormsApi.completeTaskForm(procWithUserWidgetTaskId.id, { values: { label: null } });
|
||||
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appDateModel.id);
|
||||
await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appUserWidgetModel.id);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appDateModel.id);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appUserWidgetModel.id);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, PaginationPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, PaginationPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
@@ -25,6 +24,18 @@ import { ProcessFiltersPage } from '../pages/adf/process-services/process-filter
|
||||
|
||||
describe('Process List - Pagination', () => {
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const itemsPerPage = {
|
||||
five: '5',
|
||||
fiveValue: 5,
|
||||
@@ -39,61 +50,38 @@ describe('Process List - Pagination', () => {
|
||||
|
||||
const processFilterRunning = 'Running';
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
let deployedTestApp;
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const nrOfProcesses = 20;
|
||||
let page;
|
||||
let totalPages;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
deployedTestApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
});
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
describe('With processes Pagination', () => {
|
||||
|
||||
beforeAll(async () => {
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
for (let i = 0; i < nrOfProcesses; i++) {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(deployedTestApp.name);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(deployedTestApp.name);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickProcessButton();
|
||||
});
|
||||
|
||||
it('[C261042] Should display default pagination', async() => {
|
||||
it('[C261042] Should display default pagination', async () => {
|
||||
page = 1;
|
||||
totalPages = 1;
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -110,7 +98,7 @@ describe('Process List - Pagination', () => {
|
||||
await paginationPage.checkPreviousPageButtonIsDisabled();
|
||||
});
|
||||
|
||||
it('[C261043] Should be possible to Items per page to 15', async() => {
|
||||
it('[C261043] Should be possible to Items per page to 15', async () => {
|
||||
page = 1;
|
||||
totalPages = 2;
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -151,7 +139,7 @@ describe('Process List - Pagination', () => {
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
|
||||
});
|
||||
|
||||
it('[C261044] Should be possible to Items per page to 10', async() => {
|
||||
it('[C261044] Should be possible to Items per page to 10', async () => {
|
||||
page = 1;
|
||||
totalPages = 2;
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -192,7 +180,7 @@ describe('Process List - Pagination', () => {
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
|
||||
});
|
||||
|
||||
it('[C261047] Should be possible to Items per page to 20', async() => {
|
||||
it('[C261047] Should be possible to Items per page to 20', async () => {
|
||||
page = 1;
|
||||
totalPages = 1;
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -220,7 +208,7 @@ describe('Process List - Pagination', () => {
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
|
||||
});
|
||||
|
||||
it('[C261045] Should be possible to Items per page to 5', async() => {
|
||||
it('[C261045] Should be possible to Items per page to 5', async () => {
|
||||
let showing;
|
||||
page = 1;
|
||||
totalPages = 4;
|
||||
@@ -294,7 +282,7 @@ describe('Process List - Pagination', () => {
|
||||
await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
|
||||
});
|
||||
|
||||
it('[C261049] Should be possible to open page number dropdown', async() => {
|
||||
it('[C261049] Should be possible to open page number dropdown', async () => {
|
||||
let showing;
|
||||
page = 1;
|
||||
totalPages = 2;
|
||||
@@ -347,7 +335,7 @@ describe('Process List - Pagination', () => {
|
||||
await paginationPage.checkPreviousPageButtonIsDisabled();
|
||||
});
|
||||
|
||||
it('[C261048] Should be possible to sort processes by name', async() => {
|
||||
it('[C261048] Should be possible to sort processes by name', async () => {
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
|
||||
await processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
@@ -366,7 +354,7 @@ describe('Process List - Pagination', () => {
|
||||
await processFiltersPage.checkProcessesSortedByNameDesc();
|
||||
});
|
||||
|
||||
it('[C286260] Should keep sorting when changing \'Items per page\'', async() => {
|
||||
it('[C286260] Should keep sorting when changing \'Items per page\'', async () => {
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
|
||||
await processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
|
||||
@@ -15,26 +15,30 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, PaginationPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { StringUtil, LoginSSOPage, PaginationPage, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { Util } from '../util/util';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Task List Pagination - Sorting', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
const nrOfTasks = 20;
|
||||
let processUserModel;
|
||||
const taskNameBase = 'Task';
|
||||
const taskNames = Util.generateSequenceFiles(10, nrOfTasks + 9, taskNameBase, '');
|
||||
const taskNames = StringUtil.generateFilesNames(10, nrOfTasks + 9, taskNameBase, '');
|
||||
|
||||
const itemsPerPage = {
|
||||
five: '5',
|
||||
@@ -46,28 +50,19 @@ describe('Task List Pagination - Sorting', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
for (let i = 0; i < nrOfTasks; i++) {
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskNames[i] });
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskNames[i] }));
|
||||
}
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
it('[C260308] Should be possible to sort tasks by name', async () => {
|
||||
|
||||
@@ -17,49 +17,44 @@
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { ApiService, LoginSSOPage } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import Task = require('../models/APS/Task');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
|
||||
describe('Start Task - Task App', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
|
||||
let processUserModel;
|
||||
const tasks = ['Standalone task', 'Completed standalone task', 'Add a form', 'Remove form'];
|
||||
const noFormMessage = 'No forms attached';
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location);
|
||||
const file = fs.createReadStream(pathFile);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
|
||||
await apiService.getInstance().activiti.appsApi.importAppDefinition(file);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -68,7 +63,6 @@ describe('Start Task - Task App', () => {
|
||||
});
|
||||
|
||||
it('[C260421] Should a standalone task be displayed when creating a new task without form', async () => {
|
||||
|
||||
const task = await taskPage.createNewTask();
|
||||
await task.addName(tasks[0]);
|
||||
await task.clickStartButton();
|
||||
@@ -128,8 +122,8 @@ describe('Start Task - Task App', () => {
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
|
||||
await expect(await taskPage.taskDetails().getFormName()).toEqual(app.formName);
|
||||
|
||||
const listOfTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
await this.alfrescoJsApi.activiti.taskApi.removeForm(listOfTasks.data[0].id);
|
||||
const listOfTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
await apiService.getInstance().activiti.taskApi.removeForm(listOfTasks.data[0].id);
|
||||
|
||||
await browser.refresh();
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
|
||||
|
||||
@@ -18,18 +18,15 @@
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import {
|
||||
FileBrowserUtil,
|
||||
LoginPage, SelectAppsDialog,
|
||||
LoginSSOPage, SelectAppsDialog,
|
||||
ProcessInstanceTasksPage,
|
||||
StringUtil,
|
||||
Widget,
|
||||
ApplicationsUtil,
|
||||
StartProcessPage
|
||||
StartProcessPage, ApiService, UserModel, LocalStorageUtil
|
||||
} from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { browser } from 'protractor';
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { User } from '../models/APS/user';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AttachmentListPage } from '../pages/adf/process-services/attachment-list.page';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
@@ -38,11 +35,16 @@ import { ProcessServicesPage } from '../pages/adf/process-services/process-servi
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { ContentServicesPage } from '../pages/adf/content-services.page';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { AcsUserModel } from '../models/ACS/acs-user.model';
|
||||
import { UploadDialogPage } from '../pages/adf/dialog/upload-dialog.page';
|
||||
|
||||
describe('Start Process Component', () => {
|
||||
const loginPage = new LoginPage();
|
||||
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
const simpleApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const dateFormApp = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
const startProcessAttachFileApp = browser.params.resources.Files.START_PROCESS_ATTACH_FILE;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
@@ -54,14 +56,17 @@ describe('Start Process Component', () => {
|
||||
const contentServicesPage = new ContentServicesPage();
|
||||
const selectAppsDialog = new SelectAppsDialog();
|
||||
const widget = new Widget();
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
const simpleApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const dateFormApp = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
const startProcessAttachFileApp = browser.params.resources.Files.START_PROCESS_ATTACH_FILE;
|
||||
let appId, procUserModel, secondProcUserModel, tenantId, simpleAppCreated, dateFormAppCreated;
|
||||
const processModelWithSe = 'process_with_se', processModelWithoutSe = 'process_without_se';
|
||||
|
||||
const apiService = new ApiService();
|
||||
const apiServiceUserTwo = new ApiService();
|
||||
|
||||
let procUserModel: UserModel;
|
||||
let secondProcUserModel: UserModel;
|
||||
let appCreated, simpleAppCreated, dateFormAppCreated;
|
||||
|
||||
const processName255Characters = StringUtil.generateRandomString(255);
|
||||
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
|
||||
|
||||
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
||||
|
||||
const auditLogFile = 'Audit.pdf';
|
||||
@@ -72,57 +77,31 @@ describe('Start Process Component', () => {
|
||||
});
|
||||
|
||||
describe('Provider: BPM', () => {
|
||||
|
||||
beforeAll(async () => {
|
||||
try {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
procUserModel = await usersActions.createUser();
|
||||
secondProcUserModel = await usersActions.createUser(new UserModel({ tenantId: procUserModel.tenantId }));
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
await apiServiceUserTwo.getInstance().login(secondProcUserModel.email, secondProcUserModel.password);
|
||||
|
||||
tenantId = newTenant.id;
|
||||
procUserModel = new User({tenantId: tenantId});
|
||||
secondProcUserModel = new User({tenantId: tenantId});
|
||||
|
||||
await this.alfrescoJsApi.activiti.adminUsersApi.createNewUser(procUserModel);
|
||||
await this.alfrescoJsApi.activiti.adminUsersApi.createNewUser(secondProcUserModel);
|
||||
|
||||
this.alfrescoJsApiUserTwo = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApiUserTwo.login(secondProcUserModel.email, secondProcUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApiUserTwo);
|
||||
|
||||
const appCreated = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
simpleAppCreated = await applicationsService.importPublishDeployApp(simpleApp.file_path);
|
||||
|
||||
dateFormAppCreated = await applicationsService.importPublishDeployApp(dateFormApp.file_path);
|
||||
|
||||
appId = appCreated.id;
|
||||
} catch (error) {
|
||||
throw new Error(`API call failed in beforeAll: ${error}`);
|
||||
}
|
||||
const applicationsService = new ApplicationsUtil(apiServiceUserTwo);
|
||||
appCreated = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
simpleAppCreated = await applicationsService.importPublishDeployApp(simpleApp.file_path);
|
||||
dateFormAppCreated = await applicationsService.importPublishDeployApp(dateFormApp.file_path);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(appId);
|
||||
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(simpleAppCreated.id);
|
||||
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(dateFormAppCreated.id);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
await apiServiceUserTwo.getInstance().activiti.modelsApi.deleteModel(appCreated.id);
|
||||
await apiServiceUserTwo.getInstance().activiti.modelsApi.deleteModel(simpleAppCreated.id);
|
||||
await apiServiceUserTwo.getInstance().activiti.modelsApi.deleteModel(dateFormAppCreated.id);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(procUserModel.tenantId);
|
||||
});
|
||||
|
||||
describe(' Once logged with user without apps', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(procUserModel);
|
||||
await loginPage.login(procUserModel.email, procUserModel.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
});
|
||||
@@ -137,9 +116,8 @@ describe('Start Process Component', () => {
|
||||
});
|
||||
|
||||
describe(' Once logged with user with app', () => {
|
||||
|
||||
beforeAll(async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(secondProcUserModel);
|
||||
await loginPage.login(secondProcUserModel.email, secondProcUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -175,15 +153,15 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithoutSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.deleteDefaultName();
|
||||
|
||||
await browser.sleep(1000);
|
||||
|
||||
await startProcessPage.checkStartProcessButtonIsDisabled();
|
||||
await startProcessPage.clickProcessDropdownArrow();
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(processModelWithSe);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
});
|
||||
|
||||
it('[C260443] Should be possible to start a process without start event', async () => {
|
||||
@@ -196,7 +174,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
await expect(await startProcessPage.checkSelectProcessPlaceholderIsDisplayed()).toBe('');
|
||||
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithoutSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
|
||||
await expect(await startProcessPage.getDefaultName()).toEqual('My Default Name');
|
||||
|
||||
@@ -209,11 +187,11 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Test');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processDetailsPage.checkDetailsAreDisplayed();
|
||||
const processId = await processDetailsPage.getId();
|
||||
const response = await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processId);
|
||||
const response = await apiService.getInstance().activiti.processApi.getProcessInstance(processId);
|
||||
|
||||
await expect(await processDetailsPage.getProcessStatus()).toEqual(CONSTANTS.PROCESS_STATUS.RUNNING);
|
||||
await expect(await processDetailsPage.getEndDate()).toEqual(CONSTANTS.PROCESS_END_DATE);
|
||||
@@ -241,9 +219,9 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.typeProcessDefinition('process');
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(processModelWithSe);
|
||||
await startProcessPage.selectProcessOption(processModelWithoutSe);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.selectProcessOption(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkStartProcessButtonIsEnabled();
|
||||
});
|
||||
|
||||
@@ -252,10 +230,10 @@ describe('Start Process Component', () => {
|
||||
await processServiceTabBarPage.clickProcessButton();
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.typeProcessDefinition(processModelWithoutSe);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe);
|
||||
await startProcessPage.checkProcessOptionIsNotDisplayed(processModelWithSe);
|
||||
await startProcessPage.selectProcessOption(processModelWithoutSe);
|
||||
await startProcessPage.typeProcessDefinition(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkProcessOptionIsDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkProcessOptionIsNotDisplayed(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.selectProcessOption(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkStartProcessButtonIsEnabled();
|
||||
});
|
||||
|
||||
@@ -274,10 +252,10 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Type');
|
||||
await startProcessPage.typeProcessDefinition(processModelWithoutSe);
|
||||
await startProcessPage.selectProcessOption(processModelWithoutSe);
|
||||
await startProcessPage.typeProcessDefinition(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.selectProcessOption(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkStartProcessButtonIsEnabled();
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(processModelWithoutSe);
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.clickStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Type');
|
||||
@@ -291,7 +269,7 @@ describe('Start Process Component', () => {
|
||||
await startProcessPage.typeProcessDefinition('process');
|
||||
|
||||
await startProcessPage.pressDownArrowAndEnter();
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(processModelWithoutSe);
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
});
|
||||
|
||||
it('[C286514] Should the process definition input be cleared when clicking on options drop down ', async () => {
|
||||
@@ -300,8 +278,8 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.typeProcessDefinition('process');
|
||||
await startProcessPage.selectProcessOption(processModelWithoutSe);
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(processModelWithoutSe);
|
||||
await startProcessPage.selectProcessOption(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.clickProcessDropdownArrow();
|
||||
|
||||
await expect(await startProcessPage.getProcessDefinitionValue()).toBe('');
|
||||
@@ -313,7 +291,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Comment Process');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Comment Process');
|
||||
@@ -327,7 +305,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Audit Log');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Audit Log');
|
||||
@@ -345,7 +323,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
|
||||
await startProcessPage.enterProcessName('Attach File');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -364,7 +342,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
|
||||
await startProcessPage.enterProcessName('Show Diagram');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
@@ -379,7 +357,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Active Task');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Active Task');
|
||||
@@ -388,7 +366,7 @@ describe('Start Process Component', () => {
|
||||
});
|
||||
|
||||
it('[C260457] Should display process in Completed when cancelled', async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(secondProcUserModel);
|
||||
await loginPage.login(secondProcUserModel.email, secondProcUserModel.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp(app.title);
|
||||
@@ -396,7 +374,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Cancel Process');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Cancel Process');
|
||||
@@ -412,7 +390,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('Comment Process 2');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('Comment Process 2');
|
||||
@@ -429,7 +407,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickCreateProcessButton();
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.enterProcessName('File');
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_se_name);
|
||||
await startProcessPage.clickFormStartProcessButton();
|
||||
await processFiltersPage.clickRunningFilterButton();
|
||||
await processFiltersPage.selectFromProcessList('File');
|
||||
@@ -448,7 +426,7 @@ describe('Start Process Component', () => {
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
|
||||
await startProcessPage.enterProcessName(processName255Characters);
|
||||
await startProcessPage.selectFromProcessDropdown(processModelWithoutSe);
|
||||
await startProcessPage.selectFromProcessDropdown(browser.params.resources.Files.APP_WITH_PROCESSES.process_wse_name);
|
||||
await startProcessPage.checkStartProcessButtonIsEnabled();
|
||||
|
||||
await startProcessPage.enterProcessName(processNameBiggerThen255Characters);
|
||||
@@ -479,47 +457,34 @@ describe('Start Process Component', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('Provider: ALL', () => {
|
||||
describe('Provider: ALL', () => {
|
||||
const uploadDialog = new UploadDialogPage();
|
||||
let processUserModel, contentUserModel;
|
||||
let processUserModel;
|
||||
const imageUploaded = new FileModel({
|
||||
'name': browser.params.resources.Files.PROFILE_IMAGES.ECM.file_name,
|
||||
'location': browser.params.resources.Files.PROFILE_IMAGES.ECM.file_location
|
||||
});
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
const apiServiceAll = new ApiService({
|
||||
provider: 'ALL',
|
||||
hostEcm: browser.params.testConfig.adf_acs.host,
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
hostEcm: browser.params.testConfig.appConfig.ecmHost,
|
||||
hostBpm: browser.params.testConfig.appConfig.bpmHost
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const usersActions = new UsersActions(apiServiceAll);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await apiServiceAll.login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
contentUserModel = new AcsUserModel({
|
||||
'id': processUserModel.email,
|
||||
'password': processUserModel.password,
|
||||
'firstName': processUserModel.firstName,
|
||||
'lastName': processUserModel.lastName,
|
||||
'email': processUserModel.email
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.core.peopleApi.addPerson(contentUserModel);
|
||||
const alfrescoJsBPMAdminUser = new ApiService({ hostBpm: browser.params.testConfig.appConfig.bpmHost });
|
||||
|
||||
this.alfrescoJsBPMAdminUser = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await this.alfrescoJsBPMAdminUser.login(processUserModel.email, processUserModel.password);
|
||||
await alfrescoJsBPMAdminUser.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsBPMAdminUser);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsBPMAdminUser);
|
||||
|
||||
const appCreated = await applicationsService.importPublishDeployApp(startProcessAttachFileApp.file_path);
|
||||
appId = appCreated.id;
|
||||
await applicationsService.importPublishDeployApp(startProcessAttachFileApp.file_path);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
@@ -527,7 +492,9 @@ describe('Start Process Component', () => {
|
||||
});
|
||||
|
||||
it('[C260490] Should be able to start a Process within ACS', async () => {
|
||||
await loginPage.loginToAllUsingUserModel(contentUserModel);
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ALL');
|
||||
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await contentServicesPage.goToDocumentList();
|
||||
await contentServicesPage.checkDocumentListElementsAreDisplayed();
|
||||
|
||||
@@ -15,12 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { browser, by } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AttachmentListPage } from '../pages/adf/process-services/attachment-list.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
@@ -29,13 +27,18 @@ import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Start Task - Custom App', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let processUserModel, assigneeUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const formTextField = app.form_fields.form_fieldId;
|
||||
const formFieldValue = 'First value ';
|
||||
const taskPage = new TasksPage();
|
||||
@@ -49,28 +52,16 @@ describe('Start Task - Custom App', () => {
|
||||
});
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
assigneeUserModel = await usersActions.createUser();
|
||||
processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId }));
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
assigneeUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
it('[C263942] Should be possible to modify a task', async () => {
|
||||
|
||||
@@ -15,12 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, StringUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { ApiService, LoginSSOPage, StringUtil, UserModel } from '@alfresco/adf-testing';
|
||||
import { browser, by } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { AttachmentListPage } from '../pages/adf/process-services/attachment-list.page';
|
||||
import { ChecklistDialog } from '../pages/adf/process-services/dialog/create-checklist-dialog.page';
|
||||
@@ -29,16 +27,21 @@ import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Start Task - Task App', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let processUserModel, assigneeUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const formTextField = app.form_fields.form_fieldId;
|
||||
const formFieldValue = 'First value ';
|
||||
const taskPage = new TasksPage();
|
||||
@@ -54,37 +57,28 @@ describe('Start Task - Task App', () => {
|
||||
});
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
assigneeUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
const newTenant = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
|
||||
assigneeUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id);
|
||||
processUserModel = await usersActions.createUser(new UserModel({ tenantId: assigneeUserModel.tenantId }));
|
||||
|
||||
const pathFile = path.join(browser.params.testConfig.main.rootPath + app.file_location);
|
||||
const file = fs.createReadStream(pathFile);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
|
||||
await apiService.getInstance().activiti.appsApi.importAppDefinition(file);
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: showHeaderTask });
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: showHeaderTask }));
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
});
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp();
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
});
|
||||
});
|
||||
|
||||
it('[C260383] Should be possible to modify a task', async () => {
|
||||
const task = await taskPage.createNewTask();
|
||||
@@ -197,5 +191,5 @@ describe('Start Task - Task App', () => {
|
||||
await startDialog.blur(startDialog.name);
|
||||
await startDialog.checkValidationErrorIsDisplayed(lengthValidationError);
|
||||
await startDialog.checkStartButtonIsDisabled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,12 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { LoginPage, ApplicationsUtil, StartProcessPage } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, StartProcessPage, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { User } from '../models/APS/user';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { ProcessListDemoPage } from '../pages/adf/demo-shell/process-services/process-list-demo.page';
|
||||
@@ -31,7 +29,9 @@ import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Stencil', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.STENCIL_PROCESS;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
@@ -40,28 +40,25 @@ describe('Stencil', () => {
|
||||
const processListPage = new ProcessListPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const usersActions = new UsersActions();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
const app = browser.params.resources.Files.STENCIL_PROCESS;
|
||||
let user: User;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await usersActions.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
await applicationsService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -15,65 +15,73 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, ApplicationsUtil, ProcessUtil, StartProcessPage } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage,
|
||||
ApplicationsUtil,
|
||||
ProcessUtil,
|
||||
StartProcessPage,
|
||||
ApiService,
|
||||
UserModel
|
||||
} from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/process-details.page';
|
||||
import { ProcessListPage } from '../pages/adf/process-services/process-list.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { User } from '../models/APS/user';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
|
||||
describe('Task Assignee', () => {
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const taskPage = new TasksPage();
|
||||
const users = new UsersActions();
|
||||
|
||||
const app = browser.params.resources.Files.TEST_ASSIGNEE;
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const processListPage = new ProcessListPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const taskPage = new TasksPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
describe('Candidate User Assignee', () => {
|
||||
const processListPage = new ProcessListPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
let user: User;
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
try {// creates user and group if not available
|
||||
await users.createApsUserWithName(this.alfrescoJsApi, user.tenantId, app.candidate.email, app.candidate.firstName, app.candidate.lastName);
|
||||
} catch (e) {}
|
||||
try {// creates group if not available
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.createNewGroup({ 'name': app.candidateGroup, 'tenantId': user.tenantId, 'type': 1 });
|
||||
} catch (e) {}
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
try {
|
||||
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
user = await usersActions.createUser(new UserModel({
|
||||
firstName: app.candidate.firstName,
|
||||
lastName: app.candidate.lastName
|
||||
}));
|
||||
|
||||
try {// creates group if not available
|
||||
await apiService.getInstance().activiti.adminGroupsApi.createNewGroup({
|
||||
'name': app.candidateGroup,
|
||||
'tenantId': user.tenantId,
|
||||
'type': 1
|
||||
});
|
||||
} catch (e) {
|
||||
console.error(`failed to publish the application`);
|
||||
}
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -110,49 +118,57 @@ describe('Task Assignee', () => {
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(app.userTasks.simple.two);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Candidate Group Assignee', () => {
|
||||
let user: User;
|
||||
let candidate1: User;
|
||||
let candidate2: User;
|
||||
let user: UserModel;
|
||||
let candidate1: UserModel;
|
||||
let candidate2: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
candidate1 = await users.createApsUser(this.alfrescoJsApi, user.tenantId);
|
||||
candidate2 = await users.createApsUser(this.alfrescoJsApi, user.tenantId);
|
||||
const adminGroup = await this.alfrescoJsApi.activiti.adminGroupsApi.createNewGroup(
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
candidate1 = await usersActions.createUser(new UserModel({ tenantId: user.tenantId }));
|
||||
candidate2 = await usersActions.createUser(new UserModel({ tenantId: user.tenantId }));
|
||||
|
||||
const adminGroup = await apiService.getInstance().activiti.adminGroupsApi.createNewGroup(
|
||||
{ 'name': app.adminGroup, 'tenantId': user.tenantId }
|
||||
);
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(adminGroup.id, user.id);
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.addGroupCapabilities(adminGroup.id, { capabilities: app.adminCapabilities });
|
||||
|
||||
const candidateGroup = await this.alfrescoJsApi.activiti.adminGroupsApi.createNewGroup(
|
||||
await apiService.getInstance().activiti.adminGroupsApi.addGroupMember(adminGroup.id, user.id);
|
||||
|
||||
await apiService.getInstance().activiti.adminGroupsApi.addGroupCapabilities(adminGroup.id, { capabilities: app.adminCapabilities });
|
||||
|
||||
const candidateGroup = await apiService.getInstance().activiti.adminGroupsApi.createNewGroup(
|
||||
{ 'name': app.candidateGroup, 'tenantId': user.tenantId, 'type': 1 }
|
||||
);
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(candidateGroup.id, candidate1.id);
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(candidateGroup.id, candidate2.id);
|
||||
await this.alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(candidateGroup.id, user.id);
|
||||
|
||||
await apiService.getInstance().activiti.adminGroupsApi.addGroupMember(candidateGroup.id, candidate1.id);
|
||||
await apiService.getInstance().activiti.adminGroupsApi.addGroupMember(candidateGroup.id, candidate2.id);
|
||||
await apiService.getInstance().activiti.adminGroupsApi.addGroupMember(candidateGroup.id, user.id);
|
||||
|
||||
try {// for creates user if not available
|
||||
await users.createApsUserWithName(this.alfrescoJsApi, user.tenantId, app.candidate.email, app.candidate.firstName, app.candidate.lastName);
|
||||
} catch (e) {}
|
||||
await usersActions.createUser(new UserModel({
|
||||
tenantId: user.tenantId,
|
||||
firstName: app.candidate.firstName,
|
||||
lastName: app.candidate.lastName
|
||||
}));
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const appModel = await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processNames[1]);
|
||||
|
||||
await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processNames[1]);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C216430] Start Task - Claim and Requeue a task', async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(candidate1);
|
||||
await loginPage.login(candidate1.email, candidate1.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp('Task App');
|
||||
@@ -198,7 +214,7 @@ describe('Task Assignee', () => {
|
||||
await taskPage.tasksListPage().checkTaskListIsLoaded();
|
||||
await taskPage.tasksListPage().checkContentIsNotDisplayed(app.userTasks.candidateTask);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(candidate2);
|
||||
await loginPage.login(candidate2.email, candidate2.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp('Task App');
|
||||
@@ -209,7 +225,7 @@ describe('Task Assignee', () => {
|
||||
await taskPage.tasksListPage().checkTaskListIsLoaded();
|
||||
await taskPage.tasksListPage().checkContentIsNotDisplayed(app.userTasks.candidateTask);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(candidate1);
|
||||
await loginPage.login(candidate1.email, candidate1.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp('Task App');
|
||||
@@ -237,7 +253,7 @@ describe('Task Assignee', () => {
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(app.userTasks.candidateTask);
|
||||
await taskPage.taskDetails().checkClaimEnabled();
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(candidate2);
|
||||
await loginPage.login(candidate2.email, candidate2.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp('Task App');
|
||||
|
||||
@@ -16,25 +16,30 @@
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import { LoginPage, FileBrowserUtil, ViewerPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, FileBrowserUtil, ViewerPage, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { AttachmentListPage } from '../pages/adf/process-services/attachment-list.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import path = require('path');
|
||||
import fs = require('fs');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { FileModel } from '../models/ACS/file.model';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Attachment list action menu for tasks', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const viewerPage = new ViewerPage();
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
const pngFile = new FileModel({
|
||||
location: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_location,
|
||||
name: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_name
|
||||
@@ -49,36 +54,30 @@ describe('Attachment list action menu for tasks', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
const user = await usersActions.createUser();
|
||||
tenantId = user.tenantId;
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const { id } = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
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);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||
});
|
||||
|
||||
it('[C277311] Should be able to View /Download /Remove from Attachment List on an active task', async () => {
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToApp(app.title)).clickTasksButton();
|
||||
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
await taskPage.createTask({name: taskName.active});
|
||||
await taskPage.createTask({ name: taskName.active });
|
||||
|
||||
await attachmentListPage.clickAttachFileButton(pngFile.location);
|
||||
await attachmentListPage.viewFile(pngFile.name);
|
||||
@@ -161,12 +160,12 @@ describe('Attachment list action menu for tasks', () => {
|
||||
});
|
||||
|
||||
it('[C260234] Should be able to attache a file on a task on APS and check on ADF', async () => {
|
||||
const newTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: 'SHARE KNOWLEDGE' });
|
||||
const newTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: 'SHARE KNOWLEDGE' }));
|
||||
const newTaskId = newTask.id;
|
||||
const filePath = path.join(browser.params.testConfig.main.rootPath + pngFile.location);
|
||||
const file = fs.createReadStream(filePath);
|
||||
|
||||
relatedContent = await this.alfrescoJsApi.activiti.contentApi.createRelatedContentOnTask(newTaskId, file, { 'isRelatedContent': true });
|
||||
relatedContent = await apiService.getInstance().activiti.contentApi.createRelatedContentOnTask(newTaskId, file, { 'isRelatedContent': true });
|
||||
relatedContentId = relatedContent.id;
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
@@ -176,7 +175,7 @@ describe('Attachment list action menu for tasks', () => {
|
||||
|
||||
await attachmentListPage.checkFileIsAttached(pngFile.name);
|
||||
|
||||
await this.alfrescoJsApi.activiti.contentApi.deleteContent(relatedContentId);
|
||||
await apiService.getInstance().activiti.contentApi.deleteContent(relatedContentId);
|
||||
|
||||
await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton();
|
||||
|
||||
|
||||
@@ -15,50 +15,47 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowserActions, FileBrowserUtil, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, FileBrowserUtil, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Task Audit', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const processServices = new ProcessServicesPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let processUserModel;
|
||||
|
||||
const taskTaskApp = 'Audit task task app';
|
||||
const taskCustomApp = 'Audit task custom app';
|
||||
const taskCompleteCustomApp = 'Audit completed task custom app';
|
||||
const auditLogFile = 'Audit.pdf';
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const { id } = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, id);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskTaskApp });
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskTaskApp }));
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -15,12 +15,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, StringUtil, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, StringUtil, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { FormModelActions } from '../actions/APS/form-model.actions';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { StandaloneTask } from '../models/APS/standalone-task';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { FiltersPage } from '../pages/adf/process-services/filters.page';
|
||||
import { TaskDetailsPage } from '../pages/adf/process-services/task-details.page';
|
||||
@@ -28,27 +26,31 @@ import { TasksListPage } from '../pages/adf/process-services/tasks-list.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { AttachFormPage } from '../pages/adf/process-services/attach-form.page';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Task Details - Form', () => {
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const tasksListPage = new TasksListPage();
|
||||
const taskDetailsPage = new TaskDetailsPage();
|
||||
const attachFormPage = new AttachFormPage();
|
||||
const taskPage = new TasksPage();
|
||||
const filtersPage = new FiltersPage();
|
||||
const widget = new Widget();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const formActions = new FormModelActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let task, otherTask, user, newForm, attachedForm, otherAttachedForm;
|
||||
let newTask;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
const attachedFormModel = {
|
||||
'name': StringUtil.generateRandomString(),
|
||||
'description': '',
|
||||
'modelType': 2,
|
||||
'stencilSet': 0
|
||||
};
|
||||
const otherTaskModel = new StandaloneTask();
|
||||
const otherAttachedFormModel = {
|
||||
'name': StringUtil.generateRandomString(),
|
||||
'description': '',
|
||||
@@ -62,37 +64,31 @@ describe('Task Details - Form', () => {
|
||||
'stencilSet': 0
|
||||
};
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
attachedForm = await apiService.getInstance().activiti.modelsApi.createModel(attachedFormModel);
|
||||
newForm = await apiService.getInstance().activiti.modelsApi.createModel(newFormModel);
|
||||
|
||||
attachedForm = await this.alfrescoJsApi.activiti.modelsApi.createModel(attachedFormModel);
|
||||
newForm = await this.alfrescoJsApi.activiti.modelsApi.createModel(newFormModel);
|
||||
const otherEmptyTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: StringUtil.generateRandomString() }));
|
||||
otherAttachedForm = await apiService.getInstance().activiti.modelsApi.createModel(otherAttachedFormModel);
|
||||
|
||||
const otherEmptyTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask(otherTaskModel);
|
||||
otherAttachedForm = await this.alfrescoJsApi.activiti.modelsApi.createModel(otherAttachedFormModel);
|
||||
await apiService.getInstance().activiti.taskApi.attachForm(otherEmptyTask.id, { 'formId': otherAttachedForm.id });
|
||||
otherTask = await apiService.getInstance().activiti.taskApi.getTask(otherEmptyTask.id);
|
||||
|
||||
await this.alfrescoJsApi.activiti.taskApi.attachForm(otherEmptyTask.id, { 'formId': otherAttachedForm.id });
|
||||
otherTask = await this.alfrescoJsApi.activiti.taskApi.getTask(otherEmptyTask.id);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
afterAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
const emptyTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask(new StandaloneTask());
|
||||
await this.alfrescoJsApi.activiti.taskApi.attachForm(emptyTask.id, { 'formId': attachedForm.id });
|
||||
task = await this.alfrescoJsApi.activiti.taskApi.getTask(emptyTask.id);
|
||||
|
||||
const emptyTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: StringUtil.generateRandomString() }));
|
||||
await apiService.getInstance().activiti.taskApi.attachForm(emptyTask.id, { 'formId': attachedForm.id });
|
||||
task = await apiService.getInstance().activiti.taskApi.getTask(emptyTask.id);
|
||||
await (await new NavigationBarPage().navigateToProcessServicesPage()).goToTaskApp();
|
||||
await tasksListPage.checkTaskListIsLoaded();
|
||||
await filtersPage.goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
|
||||
@@ -151,7 +147,6 @@ describe('Task Details - Form', () => {
|
||||
});
|
||||
|
||||
describe('Task Details - Complete form with visibility conditions on tabs', () => {
|
||||
|
||||
const widgets = {
|
||||
textOneId: 'textone',
|
||||
textTwoId: 'texttwo',
|
||||
@@ -172,19 +167,17 @@ describe('Task Details - Form', () => {
|
||||
tabFieldVar: 'tabBasicFieldVar'
|
||||
};
|
||||
|
||||
const formActions = new FormModelActions();
|
||||
let app;
|
||||
let app, newTask;
|
||||
|
||||
beforeAll(async () => {
|
||||
app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await applicationsService.importPublishDeployApp(app.file_path);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
newTask = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: StringUtil.generateRandomString() });
|
||||
const form = await formActions.getFormByName(this.alfrescoJsApi, app.visibilityProcess.formName);
|
||||
await this.alfrescoJsApi.activiti.taskApi.attachForm(newTask.id, { 'formId': form.id });
|
||||
newTask = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: StringUtil.generateRandomString() }));
|
||||
const form = await formActions.getFormByName(app.visibilityProcess.formName);
|
||||
await apiService.getInstance().activiti.taskApi.attachForm(newTask.id, { 'formId': form.id });
|
||||
|
||||
await (await new NavigationBarPage().navigateToProcessServicesPage()).goToTaskApp();
|
||||
await tasksListPage.checkTaskListIsLoaded();
|
||||
@@ -194,6 +187,7 @@ describe('Task Details - Form', () => {
|
||||
|
||||
it('[C315190] Should be able to complete a standalone task with visible tab with empty value for field', async () => {
|
||||
await tasksListPage.selectRow(newTask.name);
|
||||
|
||||
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
|
||||
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldValue);
|
||||
|
||||
@@ -346,7 +340,7 @@ describe('Task Details - Form', () => {
|
||||
});
|
||||
|
||||
it('[C315197] Should be able to complete a process task with visible tab with empty value for field', async () => {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessByDefinitionName(app.name, app.visibilityProcess.name);
|
||||
await new ProcessUtil(apiService).startProcessByDefinitionName(app.name, app.visibilityProcess.name);
|
||||
|
||||
await filtersPage.goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
await tasksListPage.checkTaskListIsLoaded();
|
||||
@@ -380,7 +374,7 @@ describe('Task Details - Form', () => {
|
||||
});
|
||||
|
||||
it('[C212922] Should a User task form be refreshed, saved or completed.', async () => {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessByDefinitionName(app.name, app.processName);
|
||||
await new ProcessUtil(apiService).startProcessByDefinitionName(app.name, app.processName);
|
||||
|
||||
await filtersPage.goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
await tasksListPage.checkTaskListIsLoaded();
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import { browser } from 'protractor';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
|
||||
describe('Task Details - No form', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.NO_FORM_APP;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const apiService = new ApiService();
|
||||
|
||||
let processUserModel;
|
||||
const taskPage = new TasksPage();
|
||||
const noFormMessage = 'No forms attached';
|
||||
let importedApp;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const { id } = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(importedApp.name);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(importedApp.name);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C289311] Should attach form and complete buttons to be displayed when no form is attached', async () => {
|
||||
|
||||
@@ -15,24 +15,36 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
import Task = require('../models/APS/Task');
|
||||
import TaskModel = require('../models/APS/TaskModel');
|
||||
import FormModel = require('../models/APS/FormModel');
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import moment = require('moment');
|
||||
import { LoginPage, BrowserActions, StringUtil, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage,
|
||||
BrowserActions,
|
||||
StringUtil,
|
||||
ApplicationsUtil,
|
||||
ProcessUtil,
|
||||
ApiService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { TaskRepresentation } from '@alfresco/js-api';
|
||||
|
||||
describe('Task Details component', () => {
|
||||
|
||||
const processServices = new ProcessServicesPage();
|
||||
let processUserModel, appModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
|
||||
const processServices = new ProcessServicesPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
|
||||
let processUserModel, appModel;
|
||||
const tasks = ['Modifying task', 'Information box', 'No form', 'Not Created', 'Refreshing form', 'Assignee task', 'Attach File'];
|
||||
const TASK_DATE_FORMAT = 'll';
|
||||
let formModel;
|
||||
@@ -44,30 +56,21 @@ describe('Task Details component', () => {
|
||||
'stencilSet': 0
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const taskPage = new TasksPage();
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
const { id } = await this.alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
|
||||
processUserModel = await users.createApsUser(this.alfrescoJsApi, id);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
appModel = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
afterAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -79,10 +82,10 @@ describe('Task Details component', () => {
|
||||
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
|
||||
await taskPage.createTask({name: tasks[1], description: 'Description', formName: app.formName});
|
||||
await taskPage.createTask({ name: tasks[1], description: 'Description', formName: app.formName });
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -98,7 +101,7 @@ describe('Task Details component', () => {
|
||||
await expect(await taskPage.taskDetails().getEndDate()).toEqual('');
|
||||
await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.RUNNING);
|
||||
|
||||
const taskForm = await this.alfrescoJsApi.activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
const taskForm = await apiService.getInstance().activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
formModel = new FormModel(taskForm);
|
||||
|
||||
await expect(await taskPage.taskDetails().getFormName()).toEqual(formModel.getName());
|
||||
@@ -108,10 +111,10 @@ describe('Task Details component', () => {
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
await taskPage.createTask({name: tasks[1], description: 'Description', formName: app.formName});
|
||||
await taskPage.createTask({ name: tasks[1], description: 'Description', formName: app.formName });
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -129,7 +132,7 @@ describe('Task Details component', () => {
|
||||
await expect(await taskPage.taskDetails().getParentTaskId()).toEqual('');
|
||||
await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.RUNNING);
|
||||
|
||||
const taskForm = await this.alfrescoJsApi.activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
const taskForm = await apiService.getInstance().activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
|
||||
formModel = new FormModel(taskForm);
|
||||
|
||||
@@ -137,7 +140,7 @@ describe('Task Details component', () => {
|
||||
});
|
||||
|
||||
it('[C286706] Should display task details for task - Task App', async () => {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(appModel.name);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
|
||||
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -145,7 +148,7 @@ describe('Task Details component', () => {
|
||||
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
|
||||
@@ -162,7 +165,7 @@ describe('Task Details component', () => {
|
||||
await expect(await taskPage.taskDetails().getParentTaskId()).toEqual('');
|
||||
await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.RUNNING);
|
||||
|
||||
const taskForm = await this.alfrescoJsApi.activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
const taskForm = await apiService.getInstance().activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
|
||||
formModel = new FormModel(taskForm);
|
||||
|
||||
@@ -171,14 +174,14 @@ describe('Task Details component', () => {
|
||||
});
|
||||
|
||||
it('[C286705] Should display task details for task - Custom App', async () => {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(appModel.name);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
|
||||
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -194,7 +197,7 @@ describe('Task Details component', () => {
|
||||
await expect(await taskPage.taskDetails().getParentTaskId()).toEqual('');
|
||||
await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.RUNNING);
|
||||
|
||||
const taskForm = await this.alfrescoJsApi.activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
const taskForm = await apiService.getInstance().activiti.taskFormsApi.getTaskForm(allTasks.data[0].id);
|
||||
|
||||
formModel = new FormModel(taskForm);
|
||||
|
||||
@@ -205,7 +208,7 @@ describe('Task Details component', () => {
|
||||
it('[C286708] Should display task details for subtask - Task App', async () => {
|
||||
const taskName = 'TaskAppSubtask';
|
||||
const checklistName = 'TaskAppChecklist';
|
||||
await this.alfrescoJsApi.activiti.taskApi.createNewTask({ 'name': taskName });
|
||||
await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ 'name': taskName }));
|
||||
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -222,7 +225,7 @@ describe('Task Details component', () => {
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(checklistName);
|
||||
await taskPage.tasksListPage().selectRow(checklistName);
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -242,7 +245,7 @@ describe('Task Details component', () => {
|
||||
it('[C286707] Should display task details for subtask - Custom App', async () => {
|
||||
const checklistName = 'CustomAppChecklist';
|
||||
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(appModel.name);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
|
||||
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
@@ -259,7 +262,7 @@ describe('Task Details component', () => {
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(checklistName);
|
||||
await taskPage.tasksListPage().selectRow(checklistName);
|
||||
|
||||
const allTasks = await this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
const allTasks = await apiService.getInstance().activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
|
||||
|
||||
const taskModel = new TaskModel(allTasks.data[0]);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -278,7 +281,7 @@ describe('Task Details component', () => {
|
||||
|
||||
it('[C286709] Should display task details for completed task - Task App', async () => {
|
||||
const taskName = 'TaskAppCompleted';
|
||||
const taskId = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ 'name': taskName });
|
||||
const taskId = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ 'name': taskName }));
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
@@ -290,7 +293,7 @@ describe('Task Details component', () => {
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
|
||||
await taskPage.tasksListPage().selectRow(taskName);
|
||||
|
||||
const getTaskResponse = await this.alfrescoJsApi.activiti.taskApi.getTask(taskId.id);
|
||||
const getTaskResponse = await apiService.getInstance().activiti.taskApi.getTask(taskId.id);
|
||||
|
||||
const taskModel = new TaskModel(getTaskResponse);
|
||||
await taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
|
||||
@@ -309,10 +312,10 @@ describe('Task Details component', () => {
|
||||
|
||||
it('[C260321] Should not be able to edit a completed task\'s details', async () => {
|
||||
const taskName = 'TaskCompleted';
|
||||
const form = await this.alfrescoJsApi.activiti.modelsApi.createModel(taskFormModel);
|
||||
const task = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ 'name': taskName });
|
||||
await this.alfrescoJsApi.activiti.taskApi.attachForm(task.id, { 'formId': form.id });
|
||||
await this.alfrescoJsApi.activiti.taskApi.completeTaskForm(task.id, { values: { label: null } });
|
||||
const form = await apiService.getInstance().activiti.modelsApi.createModel(taskFormModel);
|
||||
const task = await apiService.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ 'name': taskName }));
|
||||
await apiService.getInstance().activiti.taskApi.attachForm(task.id, { 'formId': form.id });
|
||||
await apiService.getInstance().activiti.taskApi.completeTaskForm(task.id, { values: { label: null } });
|
||||
|
||||
await (await processServices.goToTaskApp()).clickTasksButton();
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
@@ -24,16 +24,17 @@ import { TaskDetailsPage } from '../pages/adf/process-services/task-details.page
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
|
||||
import { AppSettingsTogglesPage } from '../pages/adf/process-services/dialog/app-settings-toggles.page';
|
||||
import { TaskFiltersDemoPage } from '../pages/adf/demo-shell/process-services/task-filters-demo.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi, UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { User } from '../models/APS/user';
|
||||
|
||||
describe('Task', () => {
|
||||
|
||||
describe('Filters', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const tasksPage = new TasksPage();
|
||||
@@ -41,38 +42,30 @@ describe('Task', () => {
|
||||
const taskDetailsPage = new TaskDetailsPage();
|
||||
const taskFiltersDemoPage = new TaskFiltersDemoPage();
|
||||
|
||||
const app = browser.params.resources.Files.APP_WITH_DATE_FIELD_FORM;
|
||||
let appId: number, user: User;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
});
|
||||
let appId: number, user: UserModel;
|
||||
|
||||
beforeEach(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
const users = new UsersActions();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const { id } = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
appId = id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp(app.title);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
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(user.tenantId);
|
||||
await apiService.getInstance().activiti.modelsApi.deleteModel(appId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C279967] Should display default filters when an app is deployed', async () => {
|
||||
@@ -83,7 +76,7 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
it('[C260330] Should display Task Filter List when app is in Task Tab', async () => {
|
||||
await tasksPage.createTask({name: 'Test'});
|
||||
await tasksPage.createTask({ name: 'Test' });
|
||||
await taskFiltersDemoPage.myTasksFilter().clickTaskFilter();
|
||||
await tasksListPage.checkContentIsDisplayed('Test');
|
||||
await expect(await taskFiltersDemoPage.checkActiveFilterActive()).toBe('My Tasks');
|
||||
@@ -136,14 +129,14 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
it('[C260349] Should sort task by name when Name sorting is clicked', async () => {
|
||||
await tasksPage.createTask({name: 'Test1'});
|
||||
await tasksPage.createTask({ name: 'Test1' });
|
||||
await taskDetailsPage.clickCompleteTask();
|
||||
|
||||
await tasksPage.createTask({name: 'Test2'});
|
||||
await tasksPage.createTask({ name: 'Test2' });
|
||||
await taskDetailsPage.clickCompleteTask();
|
||||
|
||||
await tasksPage.createTask({name: 'Test3'});
|
||||
await tasksPage.createTask({name: 'Test4'});
|
||||
await tasksPage.createTask({ name: 'Test3' });
|
||||
await tasksPage.createTask({ name: 'Test4' });
|
||||
|
||||
await tasksListPage.checkContentIsDisplayed('Test4');
|
||||
await tasksListPage.checkRowIsSelected('Test4');
|
||||
@@ -169,7 +162,7 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
it('[C277264] Should display task filter results when task filter is selected', async () => {
|
||||
await tasksPage.createTask({name: 'Test'});
|
||||
await tasksPage.createTask({ name: 'Test' });
|
||||
|
||||
await taskFiltersDemoPage.myTasksFilter().clickTaskFilter();
|
||||
await tasksListPage.checkContentIsDisplayed('Test');
|
||||
@@ -178,13 +171,13 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
describe('Custom Filters', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const appSettingsToggles = new AppSettingsTogglesPage();
|
||||
const taskFiltersDemoPage = new TaskFiltersDemoPage();
|
||||
const apiService = new ApiService();
|
||||
|
||||
let user;
|
||||
let appId: number;
|
||||
@@ -192,28 +185,22 @@ describe('Task', () => {
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
const appDefinitions = await this.alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
afterAll(async () => {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -229,21 +216,21 @@ describe('Task', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'created-desc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
const { id } = await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
const { id } = await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter('New Task Filter').checkTaskFilterIsDisplayed();
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.deleteUserTaskFilter(id);
|
||||
await apiService.getInstance().activiti.userFiltersApi.deleteUserTaskFilter(id);
|
||||
});
|
||||
|
||||
it('[C286447] Should display the task filter icon when a custom filter is added', async () => {
|
||||
const newFilter = new UserProcessInstanceFilterRepresentation({
|
||||
name : 'New Task Filter with icon',
|
||||
name: 'New Task Filter with icon',
|
||||
appId,
|
||||
icon: 'glyphicon-cloud',
|
||||
filter: { sort: 'created-desc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
const { id } = await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
const { id } = await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await processServiceTabBarPage.clickSettingsButton();
|
||||
@@ -253,7 +240,7 @@ describe('Task', () => {
|
||||
|
||||
await taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').checkTaskFilterIsDisplayed();
|
||||
await expect(await taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').getTaskFilterIcon()).toEqual('cloud');
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.deleteUserTaskFilter(id);
|
||||
await apiService.getInstance().activiti.userFiltersApi.deleteUserTaskFilter(id);
|
||||
});
|
||||
|
||||
it('[C286449] Should display task filter icons only when showIcon property is set on true', async () => {
|
||||
@@ -266,5 +253,5 @@ describe('Task', () => {
|
||||
await taskFiltersDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
|
||||
await expect(await taskFiltersDemoPage.myTasksFilter().getTaskFilterIcon()).toEqual('inbox');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,20 +15,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import { TasksListPage } from '../pages/adf/process-services/tasks-list.page';
|
||||
import { TaskDetailsPage } from '../pages/adf/process-services/task-details.page';
|
||||
import { TaskFiltersDemoPage } from '../pages/adf/demo-shell/process-services/task-filters-demo.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi, UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Task Filters Sorting', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const tasksPage = new TasksPage();
|
||||
@@ -36,11 +38,12 @@ describe('Task Filters Sorting', () => {
|
||||
const taskDetailsPage = new TaskDetailsPage();
|
||||
const taskFiltersDemoPage = new TaskFiltersDemoPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
let user;
|
||||
let appId;
|
||||
|
||||
const app = browser.params.resources.Files.APP_WITH_PROCESSES;
|
||||
|
||||
const tasks = [
|
||||
{ name: 'Task 1 Completed', dueDate: '01/01/2019' },
|
||||
{ name: 'Task 2 Completed', dueDate: '02/01/2019' },
|
||||
@@ -50,23 +53,16 @@ describe('Task Filters Sorting', () => {
|
||||
{ name: 'Task 6', dueDate: '03/01/2019' }];
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const importedApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
const appDefinitions = await this.alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id;
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
await navigationBarPage.navigateToProcessServicesPage();
|
||||
await processServicesPage.checkApsContainer();
|
||||
await processServicesPage.goToApp(app.title);
|
||||
@@ -86,8 +82,8 @@ describe('Task Filters Sorting', () => {
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
it('[C277254] Should display tasks under new filter from newest to oldest when they are completed', async () => {
|
||||
@@ -97,7 +93,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'created-desc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -114,7 +110,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'created-asc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -131,7 +127,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'due-desc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -148,7 +144,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'due-asc', state: 'completed', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -165,7 +161,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'created-desc', state: 'open', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -182,7 +178,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'created-asc', state: 'open', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -199,7 +195,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'due-desc', state: 'open', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
@@ -216,7 +212,7 @@ describe('Task Filters Sorting', () => {
|
||||
icon: 'glyphicon-filter',
|
||||
filter: { sort: 'due-asc', state: 'open', assignment: 'involved' }
|
||||
});
|
||||
await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
await apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(newFilter);
|
||||
|
||||
await browser.refresh();
|
||||
await taskFiltersDemoPage.customTaskFilter(newFilter.name).clickTaskFilter();
|
||||
|
||||
@@ -15,23 +15,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, PaginationPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginSSOPage, PaginationPage, ApplicationsUtil, ProcessUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../util/constants');
|
||||
import { User } from '../models/APS/user';
|
||||
|
||||
describe('Task List Pagination', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const taskPage = new TasksPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const apiService = new ApiService();
|
||||
|
||||
let processUserModel: User;
|
||||
let processUserModel: UserModel;
|
||||
const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
let currentPage = 1;
|
||||
const nrOfTasks = 20;
|
||||
@@ -50,30 +49,25 @@ describe('Task List Pagination', () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const resultApp = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
for (let i = 0; i < nrOfTasks; i++) {
|
||||
await new ProcessUtil(this.alfrescoJsApi).startProcessOfApp(resultApp.name);
|
||||
await new ProcessUtil(apiService).startProcessOfApp(resultApp.name);
|
||||
}
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll( async () => {
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C260301] Should display default pagination', async () => {
|
||||
|
||||
@@ -15,48 +15,43 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Amount Widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.AMOUNT;
|
||||
|
||||
let processUserModel;
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.AMOUNT;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
const processUtil = new ProcessUtil(alfrescoJsApi);
|
||||
process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async() => {
|
||||
@@ -67,9 +62,9 @@ describe('Amount Widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C274703] Should be possible to set general, advance and visibility properties for Amount Widget', async () => {
|
||||
|
||||
@@ -15,20 +15,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget, ViewerPage, FileBrowserUtil, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, ViewerPage, FileBrowserUtil, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { FileModel } from '../../models/ACS/file.model';
|
||||
import { browser } from 'protractor';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { TaskDetailsPage } from '../../pages/adf/process-services/task-details.page';
|
||||
import { TasksListPage } from '../../pages/adf/process-services/tasks-list.page';
|
||||
import { FiltersPage } from '../../pages/adf/process-services/filters.page';
|
||||
|
||||
describe('Attach widget - File', () => {
|
||||
const loginPage = new LoginPage();
|
||||
|
||||
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const viewerPage = new ViewerPage();
|
||||
const widget = new Widget();
|
||||
const taskPage = new TasksPage();
|
||||
@@ -37,26 +39,22 @@ describe('Attach widget - File', () => {
|
||||
const tasksListPage = new TasksListPage();
|
||||
const filtersPage = new FiltersPage();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
|
||||
const pdfFile = new FileModel({'name': browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name});
|
||||
const appFields = app.form_fields;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
|
||||
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
|
||||
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
|
||||
await applicationsService.importPublishDeployApp(app.file_path);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -74,12 +72,8 @@ describe('Attach widget - File', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
this.alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C268067] Should be able to preview, download and remove attached files from an active form', async () => {
|
||||
|
||||
@@ -15,46 +15,43 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Attach Folder widget', () => {
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ATTACH_FOLDER;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ATTACH_FOLDER;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const processUtil = new ProcessUtil(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
const processUtil = new ProcessUtil(alfrescoJsApi);
|
||||
process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +62,9 @@ describe('Attach Folder widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C276745] Should be possible to set visibility properties for Attach Folder Widget', async () => {
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Checkbox Widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.CHECKBOX;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.CHECKBOX;
|
||||
let deployedApp, process;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,13 +61,13 @@ describe('Checkbox Widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C268554] Should be able to set general settings for Checkbox widget ', async () => {
|
||||
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, 2);
|
||||
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, '2');
|
||||
await expect(await widget.checkboxWidget().getCheckboxLabel()).toContain(app.FIELD.checkbox_label);
|
||||
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeTruthy();
|
||||
await widget.checkboxWidget().clickCheckboxInput(app.FIELD.checkbox_input_id);
|
||||
@@ -80,7 +76,7 @@ describe('Checkbox Widget', () => {
|
||||
|
||||
it('[C272812] Should be able to set visibility settings for Checkbox widget', async () => {
|
||||
await widget.checkboxWidget().isCheckboxHidden(app.FIELD.checkbox_field_id);
|
||||
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, 2);
|
||||
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, '2');
|
||||
await widget.checkboxWidget().isCheckboxDisplayed(app.FIELD.checkbox_field_id);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Date and time widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATETIME;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATETIME;
|
||||
let deployedApp, process;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Date and time widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C268818] Should be able to set general settings for Date Time widget', async () => {
|
||||
|
||||
@@ -15,9 +15,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, FormPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage,
|
||||
BrowserActions,
|
||||
Widget,
|
||||
FormPage,
|
||||
ApplicationsUtil,
|
||||
ProcessUtil,
|
||||
ApiService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
@@ -26,48 +33,44 @@ import { customDateFormAPS1 } from '../../resources/forms/custom-date-form';
|
||||
|
||||
describe('Date widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATE;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
|
||||
const dateWidget = widget.dateWidget();
|
||||
let alfrescoJsApi;
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATE;
|
||||
let processUserModel;
|
||||
let deployedApp, process;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
describe('Simple App', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`;
|
||||
await BrowserActions.getUrl(urlToNavigateTo);
|
||||
@@ -95,7 +98,6 @@ describe('Date widget', () => {
|
||||
});
|
||||
|
||||
describe('Form Demo Page', () => {
|
||||
|
||||
const formDemoPage = new FormDemoPage();
|
||||
const formJson = JSON.parse(customDateFormAPS1);
|
||||
const formPage = new FormPage();
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Document Template widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.FILE_FORM_ADF;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.FILE_FORM_ADF;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp( app.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp( app.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessOfApp(appModel.name);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Document Template widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C260406] should check that the template contains assigned file ', async () => {
|
||||
|
||||
@@ -15,46 +15,41 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Dropdown widget', () => {
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DROPDOWN;
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DROPDOWN;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +60,9 @@ describe('Dropdown widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C269051] Should be possible to set general and options properties for Dropdown widget ', async () => {
|
||||
|
||||
@@ -15,9 +15,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
@@ -25,35 +24,34 @@ import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
|
||||
|
||||
describe('Dynamic Table widget ', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
const users = new UsersActions();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let processUserModel;
|
||||
let appModel;
|
||||
let deployedApp, process;
|
||||
|
||||
describe('with Date Time Widget App', () => {
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DYNAMIC_TABLE;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id);
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -64,9 +62,9 @@ describe('Dynamic Table widget ', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await navigationBarPage.clickLogoutButton();
|
||||
});
|
||||
|
||||
@@ -93,23 +91,22 @@ describe('Dynamic Table widget ', () => {
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DYNAMIC_TABLE_USERS;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id);
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await navigationBarPage.clickLogoutButton();
|
||||
});
|
||||
|
||||
@@ -146,30 +143,28 @@ describe('Dynamic Table widget ', () => {
|
||||
});
|
||||
|
||||
describe('Custom validation', () => {
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
const application = await applicationsService.importPublishDeployApp(app.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === application.id);
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(application.name, app.CUSTOM_VALIDATOR.processName);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(application.name, app.CUSTOM_VALIDATOR.processName);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks`;
|
||||
await BrowserActions.getUrl(urlToNavigateTo);
|
||||
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Header widget', async () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HEADER;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HEADER;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Header widget', async () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C276737] Should be able to set general and visibility properties for Header widget', async () => {
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Hyperlink widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HYPERLINK;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HYPERLINK;
|
||||
let processUserModel;
|
||||
let deployedApp, process;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Hyperlink widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C276728] Should be able to set visibility properties for Hyperlink widget', async () => {
|
||||
|
||||
@@ -15,46 +15,41 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Multi-line Widget', () => {
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.MULTILINE_TEXT;
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.MULTILINE_TEXT;
|
||||
let processUserModel;
|
||||
let deployedApp, process;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +60,9 @@ describe('Multi-line Widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C268182] Should be able to set general properties for Multi-line Text Widget', async () => {
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Number widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.NUMBER;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.NUMBER;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Number widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C269111] Should be able to set general properties for Number Widget', async () => {
|
||||
|
||||
@@ -15,46 +15,38 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, StringUtil, Widget, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { User } from '../../models/APS/user';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
|
||||
describe('People and Group widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.MORE_WIDGETS;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const widget = new Widget();
|
||||
const usersActions = new UsersActions();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
const app = browser.params.resources.Files.MORE_WIDGETS;
|
||||
let user: User;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await usersActions.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
user = await usersActions.createUser();
|
||||
await createGroupAndUsers(user.tenantId);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
try {
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
} catch (e) { console.error('failed to deploy the application'); }
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
});
|
||||
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,7 +57,7 @@ describe('People and Group widget', () => {
|
||||
it('[C275715] Add group widget - Visibility and group restriction', async () => {
|
||||
const name = 'group visibility task';
|
||||
const groupVisibilityForm = app.ADD_GROUP_VISIBILITY;
|
||||
await taskPage.createTask({name, formName: groupVisibilityForm.formName});
|
||||
await taskPage.createTask({ name, formName: groupVisibilityForm.formName });
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
await taskPage.formFields().checkWidgetIsHidden(groupVisibilityForm.FIELD.widget_id);
|
||||
@@ -75,7 +67,7 @@ describe('People and Group widget', () => {
|
||||
await widget.groupWidget().insertGroup(groupVisibilityForm.FIELD.widget_id, groupVisibilityForm.searchTerm);
|
||||
await widget.groupWidget().checkDropDownListIsDisplayed();
|
||||
const suggestions = await widget.groupWidget().getDropDownList();
|
||||
await expect(suggestions.sort()).toEqual([ 'Heros', 'Users' ]);
|
||||
await expect(suggestions.sort()).toEqual(['Heros', 'Users']);
|
||||
await widget.groupWidget().selectGroupFromDropDown('Users');
|
||||
await taskPage.taskDetails().clickCompleteFormTask();
|
||||
});
|
||||
@@ -83,7 +75,7 @@ describe('People and Group widget', () => {
|
||||
it('[C275716] Add group widget - sub group restrictions', async () => {
|
||||
const name = 'group widget - subgroup restriction';
|
||||
const subgroupFrom = app.ADD_GROUP_AND_SUBGROUP_RESTRICTION;
|
||||
await taskPage.createTask({name, formName: subgroupFrom.formName});
|
||||
await taskPage.createTask({ name, formName: subgroupFrom.formName });
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
await taskPage.formFields().checkWidgetIsHidden(subgroupFrom.FIELD.widget_id);
|
||||
@@ -108,7 +100,7 @@ describe('People and Group widget', () => {
|
||||
it('[C275714] Add people widget - group restrictions', async () => {
|
||||
const name = 'people widget - group restrictions';
|
||||
const peopleWidget = app.ADD_PEOPLE_AND_GROUP_RESTRICTION;
|
||||
await taskPage.createTask({name, formName: peopleWidget.formName});
|
||||
await taskPage.createTask({ name, formName: peopleWidget.formName });
|
||||
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
|
||||
|
||||
await taskPage.formFields().checkWidgetIsHidden(peopleWidget.FIELD.widget_id);
|
||||
@@ -123,23 +115,40 @@ describe('People and Group widget', () => {
|
||||
await taskPage.taskDetails().clickCompleteFormTask();
|
||||
});
|
||||
|
||||
async function createGroupAndUsers(tenantId) {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
async function createGroupAndUsers(tenantId: number) {
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
try {
|
||||
const happyUsers: any[] = await Promise.all(app.groupUser.map(happyUser =>
|
||||
usersActions.createApsUserWithName(alfrescoJsApi, tenantId, StringUtil.generateRandomString(), happyUser.firstName, happyUser.lastName)));
|
||||
const subgroupUser = await usersActions.createApsUserWithName(
|
||||
alfrescoJsApi, tenantId, StringUtil.generateRandomString(), app.subGroupUser.firstName, app.subGroupUser.lastName);
|
||||
const userCreated = await Promise.all(app.groupUser.map(usersToCreate =>
|
||||
usersActions.createUser(new UserModel({
|
||||
tenantId: tenantId,
|
||||
firstName: usersToCreate.firstName,
|
||||
lastName: usersToCreate.lastName
|
||||
}))
|
||||
));
|
||||
|
||||
const group = await alfrescoJsApi.activiti.adminGroupsApi.createNewGroup({ name: app.group.name, tenantId, type: 1 });
|
||||
await Promise.all(happyUsers.map(happyUser => alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(group.id, happyUser.id)));
|
||||
const subgroupUser = await usersActions.createUser(new UserModel({
|
||||
tenantId: tenantId, firstName: app.subGroupUser.firstName, lastName: app.subGroupUser.lastName
|
||||
}));
|
||||
|
||||
const subgroups: any[] = await Promise.all(getSubGroupsName().map((name) =>
|
||||
alfrescoJsApi.activiti.adminGroupsApi.createNewGroup({ name, tenantId , type: 1, parentGroupId: group.id })));
|
||||
await Promise.all(subgroups.map((subgroup) => alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(subgroup.id, subgroupUser.id)));
|
||||
const group = await apiService.getInstance().activiti.adminGroupsApi.createNewGroup({
|
||||
name: app.group.name,
|
||||
tenantId,
|
||||
type: 1
|
||||
});
|
||||
|
||||
await Promise.all(userCreated.map((userToAddGroup: UserModel) => apiService.getInstance().activiti.adminGroupsApi.addGroupMember(group.id, userToAddGroup.id)));
|
||||
|
||||
const subgroups: any[] = await Promise.all(getSubGroupsName().map((name) =>
|
||||
apiService.getInstance().activiti.adminGroupsApi.createNewGroup({
|
||||
name,
|
||||
tenantId,
|
||||
type: 1,
|
||||
parentGroupId: group.id
|
||||
})
|
||||
));
|
||||
|
||||
await Promise.all(subgroups.map((subgroup) => apiService.getInstance().activiti.adminGroupsApi.addGroupMember(subgroup.id, subgroupUser.id)));
|
||||
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
function getSubGroupsName() {
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('People widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ADD_PEOPLE;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ADD_PEOPLE;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessOfApp(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('People widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C260435][C274707] Should be possible to set visibility properties for People Widget', async () => {
|
||||
|
||||
@@ -15,47 +15,43 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Radio Buttons Widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.RADIO_BUTTONS;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.RADIO_BUTTONS;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -66,9 +62,9 @@ describe('Radio Buttons Widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C277316] Should display empty radio buttons when no preselection is configured', async () => {
|
||||
|
||||
@@ -15,46 +15,42 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Text widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
let processUserModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.TEXT;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.TEXT;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -65,9 +61,9 @@ describe('Text widget', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C268157] Should be able to set general properties for Text widget', async () => {
|
||||
|
||||
@@ -15,43 +15,40 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import { LoginPage, Widget, ApplicationsUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
|
||||
import { browser } from 'protractor';
|
||||
import { User } from '../../models/APS/user';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
|
||||
describe('Typeahead widget', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const widget = new Widget();
|
||||
const usersActions = new UsersActions();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
|
||||
let user: User;
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let user: UserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
user = await usersActions.createTenantAndUser(alfrescoJsApi);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
user = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(user.email, user.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
await apiService.getInstance().login(user.email, user.password);
|
||||
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
await loginPage.login(user.email, user.password);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { LoginPage, Widget, BrowserActions, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, Widget, BrowserActions, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { UsersActions } from '../../actions/users.actions';
|
||||
import CONSTANTS = require('../../util/constants');
|
||||
@@ -46,38 +45,34 @@ const checkbox = {
|
||||
|
||||
describe('Process-Services - Visibility conditions', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.VISIBILITY;
|
||||
|
||||
let processUserModel;
|
||||
const loginPage = new LoginSSOPage();
|
||||
const taskPage = new TasksPage();
|
||||
const widget = new Widget();
|
||||
let alfrescoJsApi;
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const applicationsService = new ApplicationsUtil(apiService);
|
||||
|
||||
let appModel;
|
||||
const app = browser.params.resources.Files.WIDGET_CHECK_APP.VISIBILITY;
|
||||
let deployedApp, process;
|
||||
let processUserModel;
|
||||
|
||||
beforeAll(async () => {
|
||||
const users = new UsersActions();
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
|
||||
alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'BPM',
|
||||
hostBpm: browser.params.testConfig.adf_aps.host
|
||||
});
|
||||
processUserModel = await usersActions.createUser();
|
||||
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
|
||||
|
||||
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
|
||||
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
|
||||
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
|
||||
|
||||
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
|
||||
deployedApp = appDefinitions.data.find((currentApp) => {
|
||||
return currentApp.modelId === appModel.id;
|
||||
});
|
||||
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
|
||||
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
|
||||
await loginPage.login(processUserModel.email, processUserModel.password);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -88,9 +83,9 @@ describe('Process-Services - Visibility conditions', () => {
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
|
||||
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
|
||||
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
|
||||
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
|
||||
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
|
||||
});
|
||||
|
||||
it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', async () => {
|
||||
@@ -101,7 +96,6 @@ describe('Process-Services - Visibility conditions', () => {
|
||||
});
|
||||
|
||||
it('[C309648] Should be able to see Checkbox widget when visibility condition refers to a form variable and a field', async () => {
|
||||
|
||||
await widget.textWidget().isWidgetVisible(widgets.textOneId);
|
||||
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
|
||||
|
||||
@@ -113,7 +107,6 @@ describe('Process-Services - Visibility conditions', () => {
|
||||
});
|
||||
|
||||
it('[C309649] Should be able to see Checkbox widget when visibility condition refers to a field and a form variable', async () => {
|
||||
|
||||
await widget.textWidget().isWidgetVisible(widgets.textOneId);
|
||||
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
|
||||
|
||||
@@ -125,7 +118,6 @@ describe('Process-Services - Visibility conditions', () => {
|
||||
});
|
||||
|
||||
it('[C311425] Should be able to see Checkbox widget when visibility condition refers to a field and another field', async () => {
|
||||
|
||||
await widget.textWidget().isWidgetVisible(widgets.textOneId);
|
||||
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField);
|
||||
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
|
||||
|
||||
Reference in New Issue
Block a user