diff --git a/e2e/process-services/apps-section.e2e.ts b/e2e/process-services/apps-section.e2e.ts index 598043f503..24f376c274 100644 --- a/e2e/process-services/apps-section.e2e.ts +++ b/e2e/process-services/apps-section.e2e.ts @@ -16,7 +16,7 @@ */ import { browser } from 'protractor'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'); @@ -36,6 +36,7 @@ describe('Modify applications', () => { const apps = new AppsActions(); const modelActions = new ModelsActions(); let firstApp, appVersionToBeDeleted; + let applicationService; beforeAll(async () => { const users = new UsersActions(); @@ -45,14 +46,16 @@ describe('Modify applications', () => { hostBpm: browser.params.testConfig.adf_aps.host }); + applicationService = new ApplicationService(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); - firstApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); - appVersionToBeDeleted = await apps.importPublishDeployApp(this.alfrescoJsApi, appToBeDeleted.file_location); + firstApp = await applicationService.importPublishDeployApp(app.file_path); + appVersionToBeDeleted = await applicationService.importPublishDeployApp(appToBeDeleted.file_path); await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/attach-file-widget.e2e.ts b/e2e/process-services/attach-file-widget.e2e.ts index a3450abfab..653b0f8381 100644 --- a/e2e/process-services/attach-file-widget.e2e.ts +++ b/e2e/process-services/attach-file-widget.e2e.ts @@ -15,12 +15,11 @@ * limitations under the License. */ -import { LoginPage, Widget, ViewerPage } from '@alfresco/adf-testing'; +import { LoginPage, Widget, ViewerPage, ApplicationService } 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 { AppsActions } from '../actions/APS/apps.actions'; import { NavigationBarPage } from '../pages/adf/navigation-bar.page'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { UsersActions } from '../actions/users.actions'; @@ -40,20 +39,21 @@ describe('Start Task - Task App', () => { beforeAll(async () => { const users = new UsersActions(); - const apps = new AppsActions(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', hostBpm: browser.params.testConfig.adf_aps.host }); + const applicationService = new ApplicationService(this.alfrescoJsApi); + 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); - await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + await applicationService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/attach-form-component.e2e.ts b/e2e/process-services/attach-form-component.e2e.ts index 4809a3976b..e8cfbdbae8 100644 --- a/e2e/process-services/attach-form-component.e2e.ts +++ b/e2e/process-services/attach-form-component.e2e.ts @@ -15,10 +15,9 @@ * limitations under the License. */ -import { FormFields, LoginPage } from '@alfresco/adf-testing'; +import { FormFields, LoginPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser, by } from 'protractor'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { NavigationBarPage } from '../pages/adf/navigation-bar.page'; import { AttachFormPage } from '../pages/adf/process-services/attach-form.page'; @@ -51,9 +50,9 @@ describe('Attach Form Component', () => { provider: 'BPM', hostBpm: browser.params.testConfig.adf_aps.host }); + const applicationService = new ApplicationService(this.alfrescoJsApi); const users = new UsersActions(); - const appsActions = new AppsActions(); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -63,7 +62,7 @@ describe('Attach Form Component', () => { await this.alfrescoJsApi.login(user.email, user.password); - const appModel = await appsActions.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const appModel = await applicationService.importPublishDeployApp(app.file_path); appId = appModel.id; diff --git a/e2e/process-services/comment-component-processes.e2e.ts b/e2e/process-services/comment-component-processes.e2e.ts index dbcd6dc52a..fd71e3968d 100644 --- a/e2e/process-services/comment-component-processes.e2e.ts +++ b/e2e/process-services/comment-component-processes.e2e.ts @@ -16,7 +16,7 @@ */ import { browser } from 'protractor'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -42,6 +42,7 @@ describe('Comment component for Processes', () => { const apps = new AppsActions(); const users = new UsersActions(); + const applicationsService = new ApplicationService(this.alfrescoJsApi); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -51,7 +52,7 @@ describe('Comment component for Processes', () => { await this.alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; const processWithComment = await apps.startProcess(this.alfrescoJsApi, 'Task App', 'Comment APS'); diff --git a/e2e/process-services/custom-process-filters-sorting.e2e.ts b/e2e/process-services/custom-process-filters-sorting.e2e.ts index b8ad9b370b..bf546d5f21 100644 --- a/e2e/process-services/custom-process-filters-sorting.e2e.ts +++ b/e2e/process-services/custom-process-filters-sorting.e2e.ts @@ -17,7 +17,7 @@ import { browser } from 'protractor'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -60,12 +60,14 @@ describe('Sorting for process filters', () => { await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + user = await users.createTenantAndUser(this.alfrescoJsApi); tenantId = user.tenantId; await this.alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; await loginPage.loginToProcessServicesUsingUserModel(user); diff --git a/e2e/process-services/custom-tasks-filters.e2e.ts b/e2e/process-services/custom-tasks-filters.e2e.ts index 7fcb4303f3..7930c58c2f 100644 --- a/e2e/process-services/custom-tasks-filters.e2e.ts +++ b/e2e/process-services/custom-tasks-filters.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { DateUtil, LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { DateUtil, LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -79,17 +79,19 @@ describe('Start Task - Custom App', () => { await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + const applicationsService = new ApplicationService(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); - appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + appModel = await applicationsService.importPublishDeployApp(app.file_path); appRuntime = await appsRuntime.getRuntimeAppByName(this.alfrescoJsApi, app.title); - secondAppModel = await apps.importPublishDeployApp(this.alfrescoJsApi, secondApp.file_location); + secondAppModel = await applicationsService.importPublishDeployApp(secondApp.file_path); secondAppRuntime = await appsRuntime.getRuntimeAppByName(this.alfrescoJsApi, secondApp.title); diff --git a/e2e/process-services/dynamic-table-date-picker.e2e.ts b/e2e/process-services/dynamic-table-date-picker.e2e.ts index 21d7cccc01..072f58dabe 100644 --- a/e2e/process-services/dynamic-table-date-picker.e2e.ts +++ b/e2e/process-services/dynamic-table-date-picker.e2e.ts @@ -15,13 +15,12 @@ * limitations under the License. */ -import { LoginPage, Widget, DatePickerCalendarPage, DateUtil } from '@alfresco/adf-testing'; +import { LoginPage, Widget, DatePickerCalendarPage, DateUtil, ApplicationService } 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 { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; describe('Dynamic Table', () => { @@ -32,7 +31,6 @@ describe('Dynamic Table', () => { const datePicker = new DatePickerCalendarPage(); const navigationBarPage = new NavigationBarPage(); const widget = new Widget(); - const apps = new AppsActions(); const users = new UsersActions(); const alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', @@ -68,7 +66,8 @@ describe('Dynamic Table', () => { beforeAll(async () => { await alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; await loginPage.loginToProcessServicesUsingUserModel(user); }); @@ -128,8 +127,9 @@ describe('Dynamic Table', () => { beforeAll(async () => { await alfrescoJsApi.login(user.email, user.password); + const applicationsService = new ApplicationService(alfrescoJsApi); - const importedApp = await apps.importPublishDeployApp(alfrescoJsApi, app.file_location); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/empty-process-list-component.e2e.ts b/e2e/process-services/empty-process-list-component.e2e.ts index 70d6c86c36..3b0a5124fa 100644 --- a/e2e/process-services/empty-process-list-component.e2e.ts +++ b/e2e/process-services/empty-process-list-component.e2e.ts @@ -16,7 +16,7 @@ */ import { browser } from 'protractor'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -24,7 +24,6 @@ import { ProcessDetailsPage } from '../pages/adf/process-services/process-detail import { ProcessListPage } from '../pages/adf/process-services/process-list.page'; import { StartProcessPage } from '../pages/adf/process-services/start-process.page'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; describe('Empty Process List Test', () => { @@ -43,7 +42,6 @@ describe('Empty Process List Test', () => { let user; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -53,12 +51,14 @@ describe('Empty Process List Test', () => { await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + user = await users.createTenantAndUser(this.alfrescoJsApi); await this.alfrescoJsApi.login(user.email, user.password); - await apps.importPublishDeployApp(this.alfrescoJsApi, appA.file_location); - await apps.importPublishDeployApp(this.alfrescoJsApi, appB.file_location); + await applicationsService.importPublishDeployApp(appA.file_path); + await applicationsService.importPublishDeployApp(appB.file_path); await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/form-people-widget.e2e.ts b/e2e/process-services/form-people-widget.e2e.ts index a7b4587d66..467aa0e5b2 100644 --- a/e2e/process-services/form-people-widget.e2e.ts +++ b/e2e/process-services/form-people-widget.e2e.ts @@ -15,19 +15,18 @@ * limitations under the License. */ -import { LoginPage, Widget } from '@alfresco/adf-testing'; +import { LoginPage, Widget, ApplicationService } from '@alfresco/adf-testing'; import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page'; import { StartProcessPage } from '../pages/adf/process-services/start-process.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 { AppsActions } from '../actions/APS/apps.actions'; 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', () => { +describe('Form widgets - People ', () => { const loginPage = new LoginPage(); let processUserModel; @@ -43,7 +42,6 @@ describe('Form widgets - People', () => { beforeAll(async () => { const users = new UsersActions(); - const appsActions = new AppsActions(); alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', @@ -56,7 +54,9 @@ describe('Form widgets - People', () => { await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + + appModel = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/form-widgets-component.e2e.ts b/e2e/process-services/form-widgets-component.e2e.ts index d582657670..766a9ad1fa 100644 --- a/e2e/process-services/form-widgets-component.e2e.ts +++ b/e2e/process-services/form-widgets-component.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../util/constants'); import FormDefinitionModel = require('../models/APS/FormDefinitionModel'); @@ -42,7 +42,6 @@ describe('Form widgets', () => { beforeAll(async () => { const users = new UsersActions(); - const appsActions = new AppsActions(); alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', @@ -55,7 +54,9 @@ describe('Form widgets', () => { await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + + appModel = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); @@ -212,7 +213,8 @@ describe('Form widgets', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + appModel = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions(); deployedApp = appDefinitions.data.find((currentApp) => { diff --git a/e2e/process-services/info-drawer.e2e.ts b/e2e/process-services/info-drawer.e2e.ts index 20ad62527b..7c71d14b14 100644 --- a/e2e/process-services/info-drawer.e2e.ts +++ b/e2e/process-services/info-drawer.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { BrowserActions, BrowserVisibility, LocalStorageUtil, LoginPage, StringUtil } from '@alfresco/adf-testing'; +import { BrowserActions, BrowserVisibility, LocalStorageUtil, LoginPage, StringUtil, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi, AppDefinitionRepresentation, @@ -26,7 +26,6 @@ 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 { AppsActions } from '../actions/APS/apps.actions'; import CONSTANTS = require('../util/constants'); import moment = require('moment'); import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page'; @@ -38,7 +37,6 @@ describe('Info Drawer', () => { const loginPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const taskPage = new TasksPage(); - const apps = new AppsActions(); const processServiceTabBarPage = new ProcessServiceTabBarPage(); const processFiltersPage = new ProcessFiltersPage(); @@ -79,7 +77,8 @@ describe('Info Drawer', () => { const processUserModel = await users.createApsUser(this.alfrescoJsApi, newTenant.id); processUserModelFullName = processUserModel.firstName + ' ' + processUserModel.lastName; await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appCreated = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + appCreated = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts b/e2e/process-services/pagination-processlist-adding-processes.e2e.ts index d0356289a3..fcb9611d71 100644 --- a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts +++ b/e2e/process-services/pagination-processlist-adding-processes.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -58,7 +58,9 @@ describe('Process List - Pagination when adding processes', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - resultApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + resultApp = await applicationsService.importPublishDeployApp(app.file_path); for (i = 0; i < (nrOfProcesses - 5); i++) { await apps.startProcess(this.alfrescoJsApi, resultApp); diff --git a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts b/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts index 29bf69d470..cd85bfd8bb 100644 --- a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts +++ b/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -59,7 +59,9 @@ describe('Items per page set to 15 and adding of tasks', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - resultApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + resultApp = await applicationsService.importPublishDeployApp(app.file_path); for (i = 0; i < (nrOfTasks - 5); i++) { await apps.startProcess(this.alfrescoJsApi, resultApp); diff --git a/e2e/process-services/process-attachment-list-action-menu.e2e.ts b/e2e/process-services/process-attachment-list-action-menu.e2e.ts index 4d626236aa..1e91e07fd7 100644 --- a/e2e/process-services/process-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/process-attachment-list-action-menu.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, FileBrowserUtil, ViewerPage } from '@alfresco/adf-testing'; +import { LoginPage, FileBrowserUtil, ViewerPage, ApplicationService } 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'; @@ -67,7 +67,9 @@ describe('Attachment list action menu for processes', () => { await this.alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); appId = importedApp.id; await apps.startProcess(this.alfrescoJsApi, importedApp, processName.completed); diff --git a/e2e/process-services/process-filters-component.e2e.ts b/e2e/process-services/process-filters-component.e2e.ts index 0b5d36a360..d59cc50281 100644 --- a/e2e/process-services/process-filters-component.e2e.ts +++ b/e2e/process-services/process-filters-component.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, BrowserActions } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, ApplicationService } from '@alfresco/adf-testing'; import { NavigationBarPage } from '../pages/adf/navigation-bar.page'; import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page'; import { StartProcessPage } from '../pages/adf/process-services/start-process.page'; @@ -25,7 +25,6 @@ import { ProcessDetailsPage } from '../pages/adf/process-services/process-detail import { ProcessListPage } from '../pages/adf/process-services/process-list.page'; import { AlfrescoApiCompatibility as AlfrescoApi, UserProcessInstanceFilterRepresentation } from '@alfresco/js-api'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { browser } from 'protractor'; import { ProcessListDemoPage } from '../pages/adf/demo-shell/process-services/process-list-demo.page'; @@ -60,7 +59,6 @@ describe('Process Filters Test', () => { }; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -71,7 +69,8 @@ describe('Process Filters Test', () => { 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); - appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + appModel = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/process-instance-details.e2e.ts b/e2e/process-services/process-instance-details.e2e.ts index bea5948751..5526923c3d 100644 --- a/e2e/process-services/process-instance-details.e2e.ts +++ b/e2e/process-services/process-instance-details.e2e.ts @@ -20,7 +20,7 @@ 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 { AppsActions } from '../actions/APS/apps.actions'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -55,7 +55,8 @@ describe('Process Instance Details', () => { await this.alfrescoJsApi.login(user.email, user.password); - appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + appModel = await applicationsService.importPublishDeployApp(app.file_path); const processModel = await apps.startProcess(this.alfrescoJsApi, appModel, 'process'); await loginPage.loginToProcessServicesUsingUserModel(user); diff --git a/e2e/process-services/process-list-component.e2e.ts b/e2e/process-services/process-list-component.e2e.ts index 041534ce46..e3910605f2 100644 --- a/e2e/process-services/process-list-component.e2e.ts +++ b/e2e/process-services/process-list-component.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, BrowserActions } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, ApplicationService } 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'; @@ -63,12 +63,14 @@ describe('Process List Test', () => { await this.alfrescoJsApi.login(user.email, user.password); - appDateModel = await apps.importPublishDeployApp(this.alfrescoJsApi, appWithDateField.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + appDateModel = await applicationsService.importPublishDeployApp(appWithDateField.file_path); procWithDate = await apps.startProcess(this.alfrescoJsApi, appDateModel, processName.procWithDate); completedProcWithDate = await apps.startProcess(this.alfrescoJsApi, appDateModel, processName.completedProcWithDate); - appUserWidgetModel = await apps.importPublishDeployApp(this.alfrescoJsApi, appWithUserWidget.file_location); + appUserWidgetModel = await applicationsService.importPublishDeployApp(appWithUserWidget.file_path); await apps.startProcess(this.alfrescoJsApi, appUserWidgetModel, processName.procWithUserWidget); completedProcWithUserWidget = await apps.startProcess(this.alfrescoJsApi, appUserWidgetModel, processName.completedProcWithUserWidget); diff --git a/e2e/process-services/processlist-pagination.e2e.ts b/e2e/process-services/processlist-pagination.e2e.ts index a4051ca6b0..8d2de8ba88 100644 --- a/e2e/process-services/processlist-pagination.e2e.ts +++ b/e2e/process-services/processlist-pagination.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -54,7 +54,6 @@ describe('Process List - Pagination', () => { const processNameBase = 'process'; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -68,7 +67,9 @@ describe('Process List - Pagination', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - deployedTestApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + deployedTestApp = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/sort-tasklist-pagination.e2e.ts b/e2e/process-services/sort-tasklist-pagination.e2e.ts index 9ebf943dbe..d4dfe895d1 100644 --- a/e2e/process-services/sort-tasklist-pagination.e2e.ts +++ b/e2e/process-services/sort-tasklist-pagination.e2e.ts @@ -15,10 +15,9 @@ * limitations under the License. */ -import { LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { NavigationBarPage } from '../pages/adf/navigation-bar.page'; import { TasksPage } from '../pages/adf/process-services/tasks.page'; @@ -47,7 +46,6 @@ describe('Task List Pagination - Sorting', () => { }; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -61,7 +59,9 @@ describe('Task List Pagination - Sorting', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + await applicationsService.importPublishDeployApp(app.file_path); for (let i = 0; i < nrOfTasks; i++) { await this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskNames[i] }); diff --git a/e2e/process-services/start-process-component.e2e.ts b/e2e/process-services/start-process-component.e2e.ts index 230f1a43ce..df3ee61596 100644 --- a/e2e/process-services/start-process-component.e2e.ts +++ b/e2e/process-services/start-process-component.e2e.ts @@ -21,11 +21,11 @@ import { LoginPage, SelectAppsDialog, StartProcessDialog, StringUtil, - Widget + Widget, + ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; -import { AppsActions } from '../actions/APS/apps.actions'; import { FileModel } from '../models/ACS/file.model'; import { Tenant } from '../models/APS/tenant'; import { User } from '../models/APS/user'; @@ -53,7 +53,6 @@ describe('Start Process Component', () => { const startProcessDialog = new StartProcessDialog(); const contentServicesPage = new ContentServicesPage(); const selectAppsDialog = new SelectAppsDialog(); - const apps = new AppsActions(); const widget = new Widget(); const app = browser.params.resources.Files.APP_WITH_PROCESSES; const simpleApp = browser.params.resources.Files.WIDGETS_SMOKE_TEST; @@ -99,11 +98,13 @@ describe('Start Process Component', () => { await this.alfrescoJsApiUserTwo.login(secondProcUserModel.email, secondProcUserModel.password); - const appCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApiUserTwo); - simpleAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, simpleApp.file_location); + const appCreated = await applicationsService.importPublishDeployApp(app.file_path); - dateFormAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, dateFormApp.file_location); + simpleAppCreated = await applicationsService.importPublishDeployApp(simpleApp.file_path); + + dateFormAppCreated = await applicationsService.importPublishDeployApp(dateFormApp.file_path); appId = appCreated.id; } catch (error) { @@ -515,7 +516,9 @@ describe('Start Process Component', () => { }); await this.alfrescoJsBPMAdminUser.login(processUserModel.email, processUserModel.password); - const appCreated = await apps.importPublishDeployApp(this.alfrescoJsBPMAdminUser, startProcessAttachFileApp.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsBPMAdminUser); + + const appCreated = await applicationsService.importPublishDeployApp(startProcessAttachFileApp.file_path); appId = appCreated.id; }); diff --git a/e2e/process-services/start-task-custom-app.e2e.ts b/e2e/process-services/start-task-custom-app.e2e.ts index 05deea8a02..8d896e5f9e 100644 --- a/e2e/process-services/start-task-custom-app.e2e.ts +++ b/e2e/process-services/start-task-custom-app.e2e.ts @@ -15,10 +15,9 @@ * limitations under the License. */ -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser, by } from 'protractor'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { FileModel } from '../models/ACS/file.model'; import { Tenant } from '../models/APS/tenant'; @@ -50,7 +49,6 @@ describe('Start Task - Custom App', () => { }); beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -68,7 +66,9 @@ describe('Start Task - Custom App', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + + appModel = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/stencil.e2e.ts b/e2e/process-services/stencil.e2e.ts index 9b8df353f2..a871c9879e 100644 --- a/e2e/process-services/stencil.e2e.ts +++ b/e2e/process-services/stencil.e2e.ts @@ -16,9 +16,8 @@ */ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; -import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../pages/adf/process-services/tasks.page'; import { browser } from 'protractor'; import { User } from '../models/APS/user'; @@ -52,12 +51,12 @@ describe('Stencil', () => { let user: User; beforeAll(async () => { - const appsActions = new AppsActions(); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); user = await usersActions.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(user.email, user.password); - await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/task-assignee.e2e.ts b/e2e/process-services/task-assignee.e2e.ts index 542f3b7cb9..ebe296b87e 100644 --- a/e2e/process-services/task-assignee.e2e.ts +++ b/e2e/process-services/task-assignee.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } from '@alfresco/adf-testing'; import { NavigationBarPage } from '../pages/adf/navigation-bar.page'; import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page'; import { StartProcessPage } from '../pages/adf/process-services/start-process.page'; @@ -65,8 +65,9 @@ describe('Task Assignee', () => { } catch (e) {} await this.alfrescoJsApi.login(user.email, user.password); + const applicationsService = new ApplicationService(this.alfrescoJsApi); try { - await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location, { renewIdmEntries: true }); + await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); } catch (e) { console.error(`failed to publish the application`); } @@ -143,7 +144,8 @@ describe('Task Assignee', () => { } catch (e) {} await this.alfrescoJsApi.login(user.email, user.password); - const appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location, { renewIdmEntries: true }); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const appModel = await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); await apps.startProcess(this.alfrescoJsApi, appModel, app.processNames[1]); }); diff --git a/e2e/process-services/task-attachment-list-action-menu.e2e.ts b/e2e/process-services/task-attachment-list-action-menu.e2e.ts index c16de72a28..e5faca7d77 100644 --- a/e2e/process-services/task-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/task-attachment-list-action-menu.e2e.ts @@ -16,7 +16,7 @@ */ import { browser } from 'protractor'; -import { LoginPage, FileBrowserUtil, ViewerPage } from '@alfresco/adf-testing'; +import { LoginPage, FileBrowserUtil, ViewerPage, ApplicationService } 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'; @@ -25,7 +25,6 @@ import path = require('path'); import fs = require('fs'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { UsersActions } from '../actions/users.actions'; -import { AppsActions } from '../actions/APS/apps.actions'; import { FileModel } from '../models/ACS/file.model'; describe('Attachment list action menu for tasks', () => { @@ -50,7 +49,6 @@ describe('Attachment list action menu for tasks', () => { }; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -63,7 +61,8 @@ describe('Attachment list action menu for tasks', () => { tenantId = user.tenantId; await this.alfrescoJsApi.login(user.email, user.password); - const { id } = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const { id } = await applicationsService.importPublishDeployApp(app.file_path); appId = id; await loginPage.loginToProcessServicesUsingUserModel(user); diff --git a/e2e/process-services/task-audit.e2e.ts b/e2e/process-services/task-audit.e2e.ts index 311b25466e..23fb3c2261 100644 --- a/e2e/process-services/task-audit.e2e.ts +++ b/e2e/process-services/task-audit.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, BrowserActions, FileBrowserUtil } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, FileBrowserUtil, ApplicationService } 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'); @@ -23,7 +23,6 @@ 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 { AppsActions } from '../actions/APS/apps.actions'; describe('Task Audit', () => { @@ -39,7 +38,6 @@ describe('Task Audit', () => { beforeAll(async () => { const users = new UsersActions(); - const apps = new AppsActions(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', @@ -52,7 +50,8 @@ describe('Task Audit', () => { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); this.alfrescoJsApi.activiti.taskApi.createNewTask({ name: taskTaskApp }); - await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/task-details-form.e2e.ts b/e2e/process-services/task-details-form.e2e.ts index d2de86b5ce..9228a5d102 100644 --- a/e2e/process-services/task-details-form.e2e.ts +++ b/e2e/process-services/task-details-form.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, StringUtil, Widget } from '@alfresco/adf-testing'; +import { LoginPage, StringUtil, Widget, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -175,7 +175,8 @@ describe('Task Details - Form', () => { beforeAll(async () => { app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM; appActions = new AppsActions(); - await appActions.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path); }); beforeEach(async () => { diff --git a/e2e/process-services/task-details-no-form.e2e.ts b/e2e/process-services/task-details-no-form.e2e.ts index 5151adbeed..0279f01523 100644 --- a/e2e/process-services/task-details-no-form.e2e.ts +++ b/e2e/process-services/task-details-no-form.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'); @@ -48,7 +48,8 @@ describe('Task Details - No form', () => { processUserModel = await users.createApsUser(this.alfrescoJsApi, id); await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + importedApp = await applicationsService.importPublishDeployApp(app.file_path); await apps.startProcess(this.alfrescoJsApi, importedApp); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/task-details.e2e.ts b/e2e/process-services/task-details.e2e.ts index 5baaba93d1..7999f2f356 100644 --- a/e2e/process-services/task-details.e2e.ts +++ b/e2e/process-services/task-details.e2e.ts @@ -25,7 +25,7 @@ import { AppsActions } from '../actions/APS/apps.actions'; import { ProcessServicesPage } from '../pages/adf/process-services/process-services.page'; import CONSTANTS = require('../util/constants'); import moment = require('moment'); -import { LoginPage, BrowserActions, StringUtil } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, StringUtil, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../pages/adf/process-services/tasks.page'; import { browser } from 'protractor'; @@ -63,7 +63,8 @@ describe('Task Details component', () => { processUserModel = await users.createApsUser(this.alfrescoJsApi, id); await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + appModel = await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/task-filters-component.e2e.ts b/e2e/process-services/task-filters-component.e2e.ts index 6945e692e1..566bbc7e5a 100644 --- a/e2e/process-services/task-filters-component.e2e.ts +++ b/e2e/process-services/task-filters-component.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -25,7 +25,6 @@ import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process- 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 { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { browser } from 'protractor'; import { User } from '../models/APS/user'; @@ -54,14 +53,14 @@ describe('Task', () => { beforeEach(async () => { - const apps = new AppsActions(); 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 { id } = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const { id } = await applicationsService.importPublishDeployApp(app.file_path); appId = id; await loginPage.loginToProcessServicesUsingUserModel(user); @@ -199,7 +198,6 @@ describe('Task', () => { const app = browser.params.resources.Files.APP_WITH_PROCESSES; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -211,7 +209,8 @@ describe('Task', () => { user = await users.createTenantAndUser(this.alfrescoJsApi); await this.alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await this.alfrescoJsApi.activiti.appsApi.getAppDefinitions(); appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id; diff --git a/e2e/process-services/task-filters-sorting.e2e.ts b/e2e/process-services/task-filters-sorting.e2e.ts index c5b1f25aa3..6212f60ab7 100644 --- a/e2e/process-services/task-filters-sorting.e2e.ts +++ b/e2e/process-services/task-filters-sorting.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage } from '@alfresco/adf-testing'; +import { LoginPage, ApplicationService } 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'; @@ -23,7 +23,6 @@ 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 { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; import { browser } from 'protractor'; @@ -51,7 +50,6 @@ describe('Task Filters Sorting', () => { { name: 'Task 6', dueDate: '03/01/2019' }]; beforeAll(async () => { - const apps = new AppsActions(); const users = new UsersActions(); this.alfrescoJsApi = new AlfrescoApi({ @@ -63,7 +61,8 @@ describe('Task Filters Sorting', () => { user = await users.createTenantAndUser(this.alfrescoJsApi); await this.alfrescoJsApi.login(user.email, user.password); - const importedApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const importedApp = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await this.alfrescoJsApi.activiti.appsApi.getAppDefinitions(); appId = appDefinitions.data.find((currentApp) => currentApp.modelId === importedApp.id).id; diff --git a/e2e/process-services/task-list-pagination.e2e.ts b/e2e/process-services/task-list-pagination.e2e.ts index 9bdebf2575..2166c41d3d 100644 --- a/e2e/process-services/task-list-pagination.e2e.ts +++ b/e2e/process-services/task-list-pagination.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { LoginPage, PaginationPage } from '@alfresco/adf-testing'; +import { LoginPage, PaginationPage, ApplicationService } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; import { AppsActions } from '../actions/APS/apps.actions'; @@ -63,7 +63,8 @@ describe('Task List Pagination', () => { processUserModel = await users.createTenantAndUser(this.alfrescoJsApi); await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - const resultApp = await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + const resultApp = await applicationsService.importPublishDeployApp(app.file_path); for (let i = 0; i < nrOfTasks; i++) { await apps.startProcess(this.alfrescoJsApi, resultApp); diff --git a/e2e/process-services/widgets/amount-widget.e2e.ts b/e2e/process-services/widgets/amount-widget.e2e.ts index ffee8e258f..de974161c2 100644 --- a/e2e/process-services/widgets/amount-widget.e2e.ts +++ b/e2e/process-services/widgets/amount-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -49,7 +49,8 @@ describe('Amount Widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/attach-file-widget.e2e.ts b/e2e/process-services/widgets/attach-file-widget.e2e.ts index 385113365a..0bb7737b33 100644 --- a/e2e/process-services/widgets/attach-file-widget.e2e.ts +++ b/e2e/process-services/widgets/attach-file-widget.e2e.ts @@ -15,12 +15,11 @@ * limitations under the License. */ -import { LoginPage, Widget, ViewerPage, FileBrowserUtil } from '@alfresco/adf-testing'; +import { LoginPage, Widget, ViewerPage, FileBrowserUtil, ApplicationService } 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 { AppsActions } from '../../actions/APS/apps.actions'; import { NavigationBarPage } from '../../pages/adf/navigation-bar.page'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { UsersActions } from '../../actions/users.actions'; @@ -45,7 +44,6 @@ describe('Attach widget - File', () => { beforeAll(async () => { const users = new UsersActions(); - const apps = new AppsActions(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', @@ -56,7 +54,8 @@ describe('Attach widget - File', () => { processUserModel = await users.createTenantAndUser(this.alfrescoJsApi); await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); - await apps.importPublishDeployApp(this.alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(this.alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path); await loginPage.loginToProcessServicesUsingUserModel(processUserModel); }); diff --git a/e2e/process-services/widgets/attach-folder-widget.e2e.ts b/e2e/process-services/widgets/attach-folder-widget.e2e.ts index 8af203f5be..bdc1f61de6 100644 --- a/e2e/process-services/widgets/attach-folder-widget.e2e.ts +++ b/e2e/process-services/widgets/attach-folder-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -47,7 +47,8 @@ describe('Attach Folder widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/checkbox-widget.e2e.ts b/e2e/process-services/widgets/checkbox-widget.e2e.ts index e68b40ed49..dee688e891 100644 --- a/e2e/process-services/widgets/checkbox-widget.e2e.ts +++ b/e2e/process-services/widgets/checkbox-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Checkbox Widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/date-time-widget.e2e.ts b/e2e/process-services/widgets/date-time-widget.e2e.ts index 13d2689049..c0a5fcb4b8 100644 --- a/e2e/process-services/widgets/date-time-widget.e2e.ts +++ b/e2e/process-services/widgets/date-time-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Date and time widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/date-widget.e2e.ts b/e2e/process-services/widgets/date-widget.e2e.ts index e0dac90638..72816e107a 100644 --- a/e2e/process-services/widgets/date-widget.e2e.ts +++ b/e2e/process-services/widgets/date-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget, FormPage } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, FormPage, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -51,7 +51,8 @@ describe('Date widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/document-template-widget.e2e.ts b/e2e/process-services/widgets/document-template-widget.e2e.ts index b5454ecf1e..5a977f2126 100644 --- a/e2e/process-services/widgets/document-template-widget.e2e.ts +++ b/e2e/process-services/widgets/document-template-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Document Template widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + appModel = await applicationsService.importPublishDeployApp( app.file_path); const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions(); deployedApp = appDefinitions.data.find((currentApp) => { diff --git a/e2e/process-services/widgets/dropdown-widget.e2e.ts b/e2e/process-services/widgets/dropdown-widget.e2e.ts index a582b29d1d..595e9d2e7c 100644 --- a/e2e/process-services/widgets/dropdown-widget.e2e.ts +++ b/e2e/process-services/widgets/dropdown-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Dropdown widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts index 43ce6ebd1f..975206e8e9 100644 --- a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts +++ b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -49,7 +49,8 @@ describe('Dynamic Table widget ', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => currentApp.modelId === appModel.id); @@ -98,7 +99,8 @@ describe('Dynamic Table widget ', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => currentApp.modelId === appModel.id); @@ -154,7 +156,8 @@ describe('Dynamic Table widget ', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - const application = await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location); + const applicationsService = new ApplicationService(alfrescoJsApi); + const application = await applicationsService.importPublishDeployApp(app.file_path); const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions(); deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === application.id); diff --git a/e2e/process-services/widgets/header-widget.e2e.ts b/e2e/process-services/widgets/header-widget.e2e.ts index da2afc37b8..bbfe4b7da6 100644 --- a/e2e/process-services/widgets/header-widget.e2e.ts +++ b/e2e/process-services/widgets/header-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Header widget', async () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/hyperlink-widget.e2e.ts b/e2e/process-services/widgets/hyperlink-widget.e2e.ts index e2fc8a6062..c9dc7162b2 100644 --- a/e2e/process-services/widgets/hyperlink-widget.e2e.ts +++ b/e2e/process-services/widgets/hyperlink-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Hyperlink widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/multi-line-widget.e2e.ts b/e2e/process-services/widgets/multi-line-widget.e2e.ts index 382e6b65b8..b7f669c7b9 100644 --- a/e2e/process-services/widgets/multi-line-widget.e2e.ts +++ b/e2e/process-services/widgets/multi-line-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Multi-line Widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/number-widget.e2e.ts b/e2e/process-services/widgets/number-widget.e2e.ts index 082add112e..20a73672ad 100644 --- a/e2e/process-services/widgets/number-widget.e2e.ts +++ b/e2e/process-services/widgets/number-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Number widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/people-group-widget.e2e.ts b/e2e/process-services/widgets/people-group-widget.e2e.ts index b28ab71d41..78f23ff680 100644 --- a/e2e/process-services/widgets/people-group-widget.e2e.ts +++ b/e2e/process-services/widgets/people-group-widget.e2e.ts @@ -16,9 +16,8 @@ */ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; -import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, StringUtil, Widget } from '@alfresco/adf-testing'; +import { LoginPage, StringUtil, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import { browser } from 'protractor'; import { User } from '../../models/APS/user'; @@ -41,14 +40,14 @@ describe('People and Group widget', () => { let user: User; beforeAll(async () => { - const appsActions = new AppsActions(); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); user = await usersActions.createTenantAndUser(alfrescoJsApi); await createGroupAndUsers(user.tenantId); await alfrescoJsApi.login(user.email, user.password); try { - await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location, { renewIdmEntries: true }); + const applicationsService = new ApplicationService(alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); } catch (e) { console.error('failed to deploy the application'); } await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/widgets/people-widget.e2e.ts b/e2e/process-services/widgets/people-widget.e2e.ts index 33f377376e..f9624e2ce6 100644 --- a/e2e/process-services/widgets/people-widget.e2e.ts +++ b/e2e/process-services/widgets/people-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('People widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts index 3c0c40cfb9..28ad95416c 100644 --- a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts +++ b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Radio Buttons Widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/text-widget.e2e.ts b/e2e/process-services/widgets/text-widget.e2e.ts index 24d78bc5d1..b363b5dd88 100644 --- a/e2e/process-services/widgets/text-widget.e2e.ts +++ b/e2e/process-services/widgets/text-widget.e2e.ts @@ -18,7 +18,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing'; +import { LoginPage, BrowserActions, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; @@ -48,7 +48,8 @@ describe('Text widget', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/process-services/widgets/typeahead-widget.e2e.ts b/e2e/process-services/widgets/typeahead-widget.e2e.ts index b582b0f688..677219e103 100644 --- a/e2e/process-services/widgets/typeahead-widget.e2e.ts +++ b/e2e/process-services/widgets/typeahead-widget.e2e.ts @@ -16,9 +16,8 @@ */ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; -import { AppsActions } from '../../actions/APS/apps.actions'; import { UsersActions } from '../../actions/users.actions'; -import { LoginPage, Widget } from '@alfresco/adf-testing'; +import { LoginPage, Widget, ApplicationService } from '@alfresco/adf-testing'; import { TasksPage } from '../../pages/adf/process-services/tasks.page'; import { browser } from 'protractor'; import { User } from '../../models/APS/user'; @@ -41,12 +40,12 @@ describe('Typeahead widget', () => { let user: User; beforeAll(async () => { - const appsActions = new AppsActions(); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); user = await usersActions.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(user.email, user.password); - await appsActions.importPublishDeployApp(alfrescoJsApi, app.file_location, { renewIdmEntries: true }); + const applicationsService = new ApplicationService(alfrescoJsApi); + await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true }); await loginPage.loginToProcessServicesUsingUserModel(user); }); diff --git a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts index 1aa09d372a..850789eb14 100644 --- a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts +++ b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts @@ -16,7 +16,7 @@ */ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; -import { LoginPage, Widget, BrowserActions } from '@alfresco/adf-testing'; +import { LoginPage, Widget, BrowserActions, ApplicationService } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { UsersActions } from '../../actions/users.actions'; import CONSTANTS = require('../../util/constants'); @@ -71,7 +71,8 @@ describe('Process-Services - Visibility conditions', () => { processUserModel = await users.createTenantAndUser(alfrescoJsApi); await alfrescoJsApi.login(processUserModel.email, processUserModel.password); - appModel = await appsActions.importPublishDeployApp(alfrescoJsApi, browser.params.resources.Files.WIDGET_CHECK_APP.file_location); + const applicationsService = new ApplicationService(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) => { diff --git a/e2e/util/resources.js b/e2e/util/resources.js index ae29745c13..ef5addac21 100644 --- a/e2e/util/resources.js +++ b/e2e/util/resources.js @@ -22,11 +22,13 @@ * @class util.Resources */ var exports = module.exports = {}; +var path = require('path'); exports.Files = { APP_WITH_DATE_FIELD_FORM: { file_location: "/resources/apps/TestDate.zip", + file_path: path.join(__dirname, '../resources/apps/TestDate.zip'), title: "TestDate", process_title: "TestDateField", id: -1, @@ -38,6 +40,7 @@ exports.Files = { APP_WITH_PROCESSES: { file_location: "/resources/apps/App_with_processes.zip", + file_path: path.join(__dirname, '../resources/apps/App_with_processes.zip'), title: "App_with_processes", description: "Description for app", process_se_name: "process_with_se", @@ -47,12 +50,14 @@ exports.Files = { APP_DYNAMIC_TABLE_DROPDOWN: { file_location: "/resources/apps/AppDynamicTableDropdown.zip", + file_path: path.join(__dirname, '../resources/apps/AppDynamicTableDropdown.zip'), title: "App3576", description: "Description for app", processName: "Process3576" }, START_PROCESS_ATTACH_FILE: { file_location: "/resources/apps/Start_process_attach_file.zip", + file_path: path.join(__dirname, '../resources/apps/Start_process_attach_file.zip'), title: "start process app", description: "Description for app", processName: "start process file" @@ -60,6 +65,7 @@ exports.Files = { TEST_ASSIGNEE: { file_location: "/resources/apps/Assignee.zip", + file_path: path.join(__dirname, '../resources/apps/Assignee.zip'), title: "Assignee", description: "Description for app", processNames: ["simple", "candidate-task"], @@ -75,6 +81,7 @@ exports.Files = { APP_WITH_USER_WIDGET: { file_location: "/resources/apps/appWithUser.zip", + file_path: path.join(__dirname, '../resources/apps/appWithUser.zip'), title: "appWithUser", description: "Description for app", processName: "ProcessWithUser", @@ -85,12 +92,14 @@ exports.Files = { NO_FORM_APP: { file_location: "/resources/apps/No form app.zip", + file_path: path.join(__dirname, '../resources/apps/No form app.zip'), title: "No form app", taskName: "No form task" }, SIMPLE_APP_WITH_USER_FORM: { file_location: "/resources/apps/Simple App with User Form.zip", + file_path: path.join(__dirname, '../resources/apps/Simple App with User Form.zip'), title: "Simple App with User Form", description: "Simple app with a process having a User task with a form attached.", processName: "Simple Process", @@ -113,6 +122,7 @@ exports.Files = { WIDGETS_SMOKE_TEST: { file_location: "/resources/apps/Widgets smoke test.zip", + file_path: path.join(__dirname, '../resources/apps/Widgets smoke test.zip'), title: "Widgets smoke test", formName: "Widgets smoke test", form_fields: { @@ -141,6 +151,7 @@ exports.Files = { FORM_ADF: { file_location: "/resources/apps/Test-ADF.zip", + file_path: path.join(__dirname, '../resources/apps/Test-ADF.zip'), title: "Test App", formName: "test-1", form_fields: { @@ -152,6 +163,7 @@ exports.Files = { FILE_FORM_ADF: { file_location: "/resources/apps/App_file_form.zip", + file_path: path.join(__dirname, '../resources/apps/App_file_form.zip'), attached_file: "generatedDocument.docx", title: "ADF-180-test", formName: "ADF-180-test", @@ -163,6 +175,7 @@ exports.Files = { WIDGET_CHECK_APP: { file_location: "/resources/apps/WidgetApps.zip", + file_path: path.join(__dirname, '../resources/apps/WidgetApps.zip'), TEXT: { formName: "TextWidgetForm", @@ -383,6 +396,7 @@ exports.Files = { MORE_WIDGETS: { file_location: "/resources/apps/More Widgets.zip", + file_path: path.join(__dirname, '../resources/apps/More Widgets.zip'), title: "More Widgets", group: { name: "Users", subgroup: [ { name: "Heros" }, { name: "Villains" }] }, subGroupUser: { firstName: "Hero", lastName: "User" } , @@ -421,12 +435,14 @@ exports.Files = { STENCIL_PROCESS: { file_location: "/resources/apps/Stencil_app.zip", + file_path: path.join(__dirname, '../resources/apps/Stencil_app.zip'), processName: 'stencil_process', taskName: 'stencil task' }, DYNAMIC_TABLE_APP: { file_location: "/resources/apps/Dynamic Table App.zip", + file_path: path.join(__dirname, '../resources/apps/Dynamic Table App.zip'), title: "Dynamic Table App", formName: "Dynamic Table App", process_se_name: "DynamicTableProcess" diff --git a/lib/testing/src/lib/core/actions/APS/applications.service.ts b/lib/testing/src/lib/core/actions/APS/applications.service.ts new file mode 100644 index 0000000000..017a862597 --- /dev/null +++ b/lib/testing/src/lib/core/actions/APS/applications.service.ts @@ -0,0 +1,57 @@ +/*! + * @license + * Copyright 2019 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { Logger } from '../../utils/logger'; +import * as remote from 'selenium-webdriver/remote'; +import { browser } from 'protractor'; +import * as fs from 'fs'; + +export class AppPublish { + comment: string = ''; + force: boolean = true; +} + +export class ApplicationService { + + api: AlfrescoApi; + + constructor(api: AlfrescoApi) { + this.api = api; + } + + async importPublishDeployApp(appFileLocation, option = {}) { + try { + const appCreated = await this.importApplication(appFileLocation, option); + const publishApp = await this.api.activiti.appsApi.publishAppDefinition(appCreated.id, new AppPublish()); + await this.api.activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] }); + return appCreated; + } catch (error) { + Logger.error('Import Publish Deploy Application - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text); + } + } + + async importApplication(appFileLocation, options = {}): Promise { + try { + browser.setFileDetector(new remote.FileDetector()); + const file = fs.createReadStream(appFileLocation); + return await this.api.activiti.appsDefinitionApi.importAppDefinition(file, options); + } catch (error) { + Logger.error('Import Application - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text); + } + } +} diff --git a/lib/testing/src/lib/core/actions/APS/models.service.ts b/lib/testing/src/lib/core/actions/APS/models.service.ts new file mode 100644 index 0000000000..7e13f04062 --- /dev/null +++ b/lib/testing/src/lib/core/actions/APS/models.service.ts @@ -0,0 +1,43 @@ +/*! + * @license + * Copyright 2019 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { Logger } from '../../utils/logger'; + +export class ModelsActions { + + api: AlfrescoApi; + + constructor(api: AlfrescoApi) { + this.api = api; + } + + async deleteVersionModel(modelId) { + try { + return this.api.activiti.modelsApi.deleteModel(modelId, { cascade: false, deleteRuntimeApp : true }); + } catch (error) { + Logger.error('Delete Model Version - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text); + } + } + + async deleteEntireModel(modelId) { + try { + return this.api.activiti.modelsApi.deleteModel(modelId, { cascade: true, deleteRuntimeApp : true }); + } catch (error) { + Logger.error('Delete Model - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text); + } + } +} diff --git a/lib/testing/src/lib/core/actions/APS/public-api.ts b/lib/testing/src/lib/core/actions/APS/public-api.ts new file mode 100644 index 0000000000..508e260424 --- /dev/null +++ b/lib/testing/src/lib/core/actions/APS/public-api.ts @@ -0,0 +1,19 @@ +/*! + * @license + * Copyright 2019 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './applications.service'; +export * from './models.service'; diff --git a/lib/testing/src/lib/core/actions/public-api.ts b/lib/testing/src/lib/core/actions/public-api.ts index 07aff579cd..df8983df7a 100644 --- a/lib/testing/src/lib/core/actions/public-api.ts +++ b/lib/testing/src/lib/core/actions/public-api.ts @@ -16,4 +16,5 @@ */ export * from './identity/public-api'; +export * from './APS/public-api'; export * from './api.service';