mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-4976] Fix cloud ps e2e errors (#5195)
* fix cloud ps e2e errors * fix lint * fix ps test add 200ms for animation * Update processListPage.ts
This commit is contained in:
committed by
Denys Vuika
parent
6119ce83de
commit
450b20eca4
@@ -20,7 +20,7 @@ import { element, by, ElementFinder } from 'protractor';
|
||||
|
||||
export class ProcessListPage {
|
||||
|
||||
processListTitle: ElementFinder = element.all(by.css("div[class='adf-empty-content__title']")).first();
|
||||
processListTitle: ElementFinder = element(by.css('div[class="adf-empty-content__title"]'));
|
||||
processInstanceList: ElementFinder = element(by.css('adf-process-instance-list'));
|
||||
|
||||
getDisplayedProcessListTitle(): Promise<string> {
|
||||
|
@@ -28,17 +28,17 @@ export class ProcessServiceTabBarPage {
|
||||
|
||||
async clickTasksButton(): Promise<void> {
|
||||
await BrowserActions.click(this.tasksButton);
|
||||
await browser.sleep(300);
|
||||
await browser.sleep(500);
|
||||
}
|
||||
|
||||
async clickProcessButton(): Promise<void> {
|
||||
await BrowserActions.click(this.processButton);
|
||||
await browser.sleep(300);
|
||||
await browser.sleep(500);
|
||||
}
|
||||
|
||||
async clickSettingsButton(): Promise<void> {
|
||||
await BrowserActions.click(this.settingsButton);
|
||||
await browser.sleep(300);
|
||||
await browser.sleep(500);
|
||||
}
|
||||
|
||||
async clickReportsButton(): Promise<void> {
|
||||
|
@@ -31,6 +31,7 @@ import {
|
||||
} from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||
import { FormCloudService } from '../../lib/testing/src/lib/form-cloud/actions/form-cloud.service';
|
||||
|
||||
describe('Task form cloud component', () => {
|
||||
|
||||
@@ -48,7 +49,6 @@ describe('Task form cloud component', () => {
|
||||
let processDefinitionService: ProcessDefinitionsService;
|
||||
let processInstancesService: ProcessInstancesService;
|
||||
let identityService: IdentityService;
|
||||
let groupIdentityService: GroupIdentityService;
|
||||
|
||||
let completedTask, createdTask, assigneeTask, toBeCompletedTask, formValidationsTask, testUser, formTaskId;
|
||||
const candidateBaseApp = browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.name;
|
||||
@@ -86,7 +86,8 @@ describe('Task form cloud component', () => {
|
||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||
|
||||
identityService = new IdentityService(apiService);
|
||||
groupIdentityService = new GroupIdentityService(apiService);
|
||||
const groupIdentityService = new GroupIdentityService(apiService);
|
||||
const formCloudService = new FormCloudService(apiService);
|
||||
|
||||
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]);
|
||||
|
||||
@@ -101,15 +102,19 @@ describe('Task form cloud component', () => {
|
||||
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
|
||||
await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp);
|
||||
|
||||
const tabVisibilityFieldsId = await formCloudService.getIdByFormName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name, browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.tabVisibilityFields.name);
|
||||
|
||||
const tabVisibilityVarsId = await formCloudService.getIdByFormName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name, browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.tabVisibilityVars.name);
|
||||
|
||||
for (let i = 0; i < 3; i++) {
|
||||
visibilityConditionTasks[i] = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(),
|
||||
simpleApp, browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.tabVisibilityFields.id);
|
||||
simpleApp, tabVisibilityFieldsId);
|
||||
await tasksService.claimTask(visibilityConditionTasks[i].entry.id, simpleApp);
|
||||
}
|
||||
|
||||
for (let i = 3; i < 6; i++) {
|
||||
visibilityConditionTasks[i] = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(),
|
||||
simpleApp, browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.tabVisibilityVars.id);
|
||||
simpleApp, tabVisibilityVarsId);
|
||||
await tasksService.claimTask(visibilityConditionTasks[i].entry.id, simpleApp);
|
||||
}
|
||||
|
||||
@@ -346,7 +351,6 @@ describe('Task form cloud component', () => {
|
||||
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldValue);
|
||||
await widget.textWidget().isWidgetVisible(widgets.textOneId);
|
||||
await widget.textWidget().isWidgetNotVisible(widgets.textTwoId);
|
||||
|
||||
await widget.textWidget().setValue(widgets.textOneId, value.displayTab);
|
||||
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
|
||||
await widget.tab().checkTabIsDisplayedByLabel(tab.tabFieldValue);
|
||||
@@ -402,7 +406,9 @@ describe('Task form cloud component', () => {
|
||||
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||
|
||||
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(visibilityConditionTasks[2].entry.name);
|
||||
|
||||
await tasksCloudDemoPage.taskListCloudComponent().selectRow(visibilityConditionTasks[2].entry.name);
|
||||
|
||||
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
|
||||
|
||||
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
|
||||
@@ -419,14 +425,16 @@ describe('Task form cloud component', () => {
|
||||
await widget.tab().clickTabByLabel(tab.tabWithFields);
|
||||
await widget.textWidget().setValue(widgets.textOneId, value.notDisplayTab);
|
||||
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar);
|
||||
|
||||
await taskFormCloudComponent.clickCompleteButton();
|
||||
|
||||
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||
|
||||
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[2].entry.name);
|
||||
|
||||
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
|
||||
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(visibilityConditionTasks[2].entry.name);
|
||||
await tasksCloudDemoPage.taskListCloudComponent().selectRow(visibilityConditionTasks[2].entry.name);
|
||||
|
||||
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
|
||||
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar);
|
||||
});
|
||||
|
@@ -88,7 +88,9 @@ describe('Empty Process List Test', () => {
|
||||
await processFiltersPage.clickNewProcessDropdown();
|
||||
await startProcessPage.selectFromProcessDropdown(appB.processName);
|
||||
await startProcessPage.clickStartProcessButton();
|
||||
|
||||
await expect(await processFiltersPage.numberOfProcessRows()).toEqual(1);
|
||||
|
||||
await processDetailsPage.checkProcessDetailsCard();
|
||||
});
|
||||
|
||||
|
@@ -17,6 +17,7 @@
|
||||
|
||||
import { browser, by, element, ElementArrayFinder, ElementFinder, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { Logger } from './logger';
|
||||
|
||||
export class BrowserActions {
|
||||
|
||||
@@ -30,6 +31,7 @@ export class BrowserActions {
|
||||
await browser.executeScript(`arguments[0].scrollIntoView();`, elementFinder);
|
||||
await browser.executeScript(`arguments[0].click();`, elementFinder);
|
||||
} catch (jsErr) {
|
||||
Logger.error(`click error element ${elementFinder}`);
|
||||
throw jsErr;
|
||||
}
|
||||
}
|
||||
|
@@ -45,4 +45,35 @@ export class FormCloudService {
|
||||
|
||||
}
|
||||
|
||||
async getForms(appName: string): Promise<any[]> {
|
||||
try {
|
||||
const path = '/' + appName + '/form/v1/forms';
|
||||
const method = 'GET';
|
||||
|
||||
const queryParams = {}, postBody = {};
|
||||
|
||||
return this.api.performBpmOperation(path, method, queryParams, postBody);
|
||||
|
||||
} catch (error) {
|
||||
Logger.error('Get forms error ', error.message);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
async getIdByFormName(appName: string, formName: string): Promise<string> {
|
||||
|
||||
const forms = await this.getForms(appName);
|
||||
|
||||
const formEntry = forms.find((currentForm) => {
|
||||
return currentForm.formRepresentation.name === formName;
|
||||
});
|
||||
|
||||
if (formEntry.formRepresentation) {
|
||||
return formEntry.formRepresentation.id;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -64,44 +64,34 @@ export const ACTIVITI_CLOUD_APPS: any = {
|
||||
},
|
||||
forms: {
|
||||
tabVisibilityFields: {
|
||||
name: 'tabvisibilitywithfields',
|
||||
id: 'form-26b01063-4fb0-455f-b3ba-90172e013678'
|
||||
name: 'tabvisibilitywithfields'
|
||||
},
|
||||
tabVisibilityVars: {
|
||||
name: 'tabvisibilitywithvars',
|
||||
id: 'form-7bf363d2-83c9-4b00-853e-373d0d59963c'
|
||||
name: 'tabvisibilitywithvars'
|
||||
},
|
||||
usertaskform: {
|
||||
name: 'usertaskform',
|
||||
id: 'form-056ba4aa-90c2-48eb-ba39-7013d732503b'
|
||||
name: 'usertaskform'
|
||||
},
|
||||
dropdownform: {
|
||||
name: 'dropdownform',
|
||||
id: 'form-5688156c-150c-43bc-83cb-617fd045202a'
|
||||
name: 'dropdownform'
|
||||
},
|
||||
formVisibility: {
|
||||
name: 'form-visibility',
|
||||
id: 'form-30418ed3-2beb-464f-ad51-4ca5da02f6d8'
|
||||
name: 'form-visibility'
|
||||
},
|
||||
multilingualform: {
|
||||
name: 'multilingualform',
|
||||
id: 'form-fb8f1628-82d9-4e0e-b032-bf02598e7d24'
|
||||
name: 'multilingualform'
|
||||
},
|
||||
inputform: {
|
||||
name: 'inputform',
|
||||
id: 'form-d69fd470-b67a-4e7c-bb70-8979fc10374f'
|
||||
name: 'inputform'
|
||||
},
|
||||
outputform: {
|
||||
name: 'outputform',
|
||||
id: 'form-eeb2174f-b25a-4386-bf73-bda4de195eee'
|
||||
name: 'outputform'
|
||||
},
|
||||
exclusiveconditionform: {
|
||||
name: 'exclusive-condition-form',
|
||||
id: 'form-03f56f41-c9a7-430a-a713-fc37bab070c1'
|
||||
name: 'exclusive-condition-form'
|
||||
},
|
||||
uploadlocalfileform: {
|
||||
name: 'upload-localfile-form',
|
||||
id: 'form-f4f02bc1-9cb6-43d6-9328-385db73e2762'
|
||||
name: 'upload-localfile-form'
|
||||
}
|
||||
},
|
||||
security: [
|
||||
|
Reference in New Issue
Block a user