diff --git a/e2e/process-services/start-process-component.e2e.ts b/e2e/process-services/start-process-component.e2e.ts index 98fe1c445a..d46ca174f5 100644 --- a/e2e/process-services/start-process-component.e2e.ts +++ b/e2e/process-services/start-process-component.e2e.ts @@ -182,8 +182,8 @@ describe('Start Process Component', () => { await startProcessPage.checkStartProcessButtonIsDisabled(); await startProcessPage.clickProcessDropdownArrow(); - await startProcessPage.checkOptionIsDisplayed(processModelWithSe); - await startProcessPage.checkOptionIsDisplayed(processModelWithoutSe); + await startProcessPage.checkProcessOptionIsDisplayed(processModelWithSe); + await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe); }); it('[C260443] Should be possible to start a process without start event', async () => { @@ -241,9 +241,9 @@ describe('Start Process Component', () => { await processFiltersPage.clickCreateProcessButton(); await processFiltersPage.clickNewProcessDropdown(); await startProcessPage.typeProcessDefinition('process'); - await startProcessPage.checkOptionIsDisplayed(processModelWithoutSe); - await startProcessPage.checkOptionIsDisplayed(processModelWithSe); - await startProcessPage.selectOption(processModelWithoutSe); + await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe); + await startProcessPage.checkProcessOptionIsDisplayed(processModelWithSe); + await startProcessPage.selectProcessOption(processModelWithoutSe); await startProcessPage.checkStartProcessButtonIsEnabled(); }); @@ -253,9 +253,9 @@ describe('Start Process Component', () => { await processFiltersPage.clickCreateProcessButton(); await processFiltersPage.clickNewProcessDropdown(); await startProcessPage.typeProcessDefinition(processModelWithoutSe); - await startProcessPage.checkOptionIsDisplayed(processModelWithoutSe); - await startProcessPage.checkOptionIsNotDisplayed(processModelWithSe); - await startProcessPage.selectOption(processModelWithoutSe); + await startProcessPage.checkProcessOptionIsDisplayed(processModelWithoutSe); + await startProcessPage.checkProcessOptionIsNotDisplayed(processModelWithSe); + await startProcessPage.selectProcessOption(processModelWithoutSe); await startProcessPage.checkStartProcessButtonIsEnabled(); }); @@ -275,7 +275,7 @@ describe('Start Process Component', () => { await processFiltersPage.clickNewProcessDropdown(); await startProcessPage.enterProcessName('Type'); await startProcessPage.typeProcessDefinition(processModelWithoutSe); - await startProcessPage.selectOption(processModelWithoutSe); + await startProcessPage.selectProcessOption(processModelWithoutSe); await startProcessPage.checkStartProcessButtonIsEnabled(); await expect(await startProcessPage.getProcessDefinitionValue()).toBe(processModelWithoutSe); await startProcessPage.clickStartProcessButton(); @@ -300,7 +300,7 @@ describe('Start Process Component', () => { await processFiltersPage.clickCreateProcessButton(); await processFiltersPage.clickNewProcessDropdown(); await startProcessPage.typeProcessDefinition('process'); - await startProcessPage.selectOption(processModelWithoutSe); + await startProcessPage.selectProcessOption(processModelWithoutSe); await expect(await startProcessPage.getProcessDefinitionValue()).toBe(processModelWithoutSe); await startProcessPage.clickProcessDropdownArrow(); diff --git a/e2e/process-services/stencil.e2e.ts b/e2e/process-services/stencil.e2e.ts index e83106d15b..ef36964760 100644 --- a/e2e/process-services/stencil.e2e.ts +++ b/e2e/process-services/stencil.e2e.ts @@ -76,7 +76,7 @@ describe('Stencil', () => { await processFiltersPage.clickCreateProcessButton(); await processFiltersPage.clickNewProcessDropdown(); - await startProcessPage.startProcess({ name, processName: app.processName }); + await startProcessPage.startProcess(name, app.processName); await processListDemoPage.checkProcessIsDisplayed(name); await processFiltersPage.selectFromProcessList(name); diff --git a/e2e/process-services/task-assignee.e2e.ts b/e2e/process-services/task-assignee.e2e.ts index c51f91e38e..8e6ec7f393 100644 --- a/e2e/process-services/task-assignee.e2e.ts +++ b/e2e/process-services/task-assignee.e2e.ts @@ -88,7 +88,7 @@ describe('Task Assignee', () => { await processListPage.checkProcessListIsDisplayed(); await processFiltersPage.clickCreateProcessButton(); await processFiltersPage.clickNewProcessDropdown(); - await startProcessPage.startProcess({ name , processName: app.processNames[0] }); + await startProcessPage.startProcess(name, app.processNames[0]); await processFiltersPage.selectFromProcessList(name); await processDetailsPage.clickOnActiveTask(); diff --git a/lib/testing/src/lib/process-services/pages/start-process.page.ts b/lib/testing/src/lib/process-services/pages/start-process.page.ts index c31d5502a5..87d24fba1a 100644 --- a/lib/testing/src/lib/process-services/pages/start-process.page.ts +++ b/lib/testing/src/lib/process-services/pages/start-process.page.ts @@ -25,6 +25,7 @@ export class StartProcessPage { defaultProcessName: ElementFinder = element(by.css('input[id="processName"]')); processNameInput: ElementFinder = element(by.id('processName')); + disabledSelectProcessDropdown: ElementFinder = element(by.css('input[id="processDefinitionName"][disabled]')); selectProcessDropdownArrow: ElementFinder = element(by.css('button[id="adf-select-process-dropdown"]')); cancelProcessButton: ElementFinder = element(by.id('cancel_process')); formStartProcessButton: ElementFinder = element(by.css('button[data-automation-id="adf-form-start process"]')); @@ -33,7 +34,8 @@ export class StartProcessPage { processDefinition: ElementFinder = element(by.css('input[id="processDefinitionName"]')); processDefinitionOptionsPanel: ElementFinder = element(by.css('div[class*="mat-autocomplete-panel"]')); - dropdownPage = new DropdownPage(); + processDefinitionDropdown = new DropdownPage(element(by.id('adf-select-process-dropdown'))); + applicationDropdown = new DropdownPage(element(by.css('[data-automation-id*="start-process-app"] div[class="mat-select-arrow"]'))); async checkNoProcessMessage(): Promise { await BrowserVisibility.waitUntilElementIsVisible(this.noProcess); @@ -64,23 +66,28 @@ export class StartProcessPage { async selectFromProcessDropdown(name): Promise { await this.clickProcessDropdownArrow(); - await this.selectOption(name); + await this.selectProcessOption(name); + } + + async selectFromApplicationDropdown(name): Promise { + await this.applicationDropdown.clickDropdown(); + await this.applicationDropdown.selectOption(name); } async clickProcessDropdownArrow(): Promise { await BrowserActions.click(this.selectProcessDropdownArrow); } - async checkOptionIsDisplayed(name): Promise { - await this.dropdownPage.checkOptionIsDisplayed(name); + async checkProcessOptionIsDisplayed(name): Promise { + await this.processDefinitionDropdown.checkOptionIsDisplayed(name); } - async checkOptionIsNotDisplayed(name): Promise { - await this.dropdownPage.checkOptionIsNotDisplayed(name); + async checkProcessOptionIsNotDisplayed(name): Promise { + await this.processDefinitionDropdown.checkOptionIsNotDisplayed(name); } - async selectOption(name): Promise { - await this.dropdownPage.selectOption(name); + async selectProcessOption(name): Promise { + await this.processDefinitionDropdown.selectOption(name); } async typeProcessDefinition(name): Promise { @@ -145,9 +152,21 @@ export class StartProcessPage { return new FormFields(); } - async startProcess({name, processName }) { + async checkProcessDefinitionDropdownIsEnabled(): Promise { + await BrowserVisibility.waitUntilElementIsNotVisible(this.disabledSelectProcessDropdown); + } + + async startProcess(name: string, processName: string) { await this.enterProcessName(name); await this.selectFromProcessDropdown(processName); await this.clickStartProcessButton(); } + + async startProcessWithApplication(name: string, applicationName: string, processName: string) { + await this.enterProcessName(name); + await this.selectFromApplicationDropdown(applicationName); + await this.checkProcessDefinitionDropdownIsEnabled(); + await this.selectFromProcessDropdown(processName); + await this.clickStartProcessButton(); + } }