Disable control flow e2e ADF (#4954)

* update project script possible different JS-API

* first commit no controll flow

* second commit no controll flow

* third commit no controll flow

* 4 commit no controll flow

* 5 commit no controll flow

* 6 commit no controll flow

* 7 commit no controll flow

* 8 commit no controll flow

* 9 commit no controll flow

* 10 commit no controll flow

* 11 commit no controll flow

* 12 commit no controll flow

* 13 commit no controll flow

* 14 commit no controll flow

* 15 commit no controll flow

* 16 commit no controll flow

* 17 commit no controll flow

* 18 commit no controll flow

* 19 commit no controll flow

* 20 commit no controll flow

* remove wdpromise, protractor promise and deferred promises

* - fixed some incorrect “expect” calls
- fixed some matchers
- removed “return this;” when not needed
- added a few more await-s

* forgot a file

* fix some failing tests

* replaced driver calls with browser calls and enabled back waitForAngular

* fix rightClick methods and hopefully some tests

* fix settings-component

* some more fixes for core and content tests

* try to fix some more issues

* linting

* revert some changes, allowing download on headless chrome won’t work with multiple browser instances

* fixes for Search tests

* try to remove some wait calls

* fix build

* increase allScriptsTimeout and try another protractor and web driver version

* improve navigation methods

* some fixes for notification history and login sso

* forgot a space

* fix packages and enable some screenshots

* navigation bar fixes

* fix some test

* some fixes for notification history and navigation bar
use correct visibility method in attachFileWidget test

* fix searching and another fix for navigation

* try solve sso login

* some more fixes

* refactor async forEach into for..of

* try fix for search tests

* resolve rebabse problems

* remove install

* fix lint

* fix core e2e

* fix core e2e

* fix core e2e

* fix ps tests

* fix some tests

* fix core e2e

* fix core e2e

* fix core

* fix some issues PS

* fix core

* fix core

* fix some ps test

* fix rebase issues

* remove save

* fix url regressed after rebase

* fix url regressed after rebase

* fix ps and core

* fix lint

* more parallel e2e ps

* fix some ps cloud test

* some cloud fix

* fix lint

* fix some test

* remove files to be ignored

* out-tsc

* improve one cs test

* fix candidate base app

* fix ps test

* remove click function

* clean methods alrady present in browser action

* try ugly wait

* move wait

* remove duplicate call

* remove underscore

* fix after review

* fix imports

* minor cosmetic fixes

* fix comments test
This commit is contained in:
Eugenio Romano
2019-08-17 14:32:02 +02:00
committed by GitHub
parent 4f3cf669f2
commit 83412bb9b6
328 changed files with 17653 additions and 18793 deletions
@@ -16,7 +16,14 @@
*/
import { browser } from 'protractor';
import { ApiService, IdentityService, LoginSSOPage, SettingsPage, LocalStorageUtil, ApplicationsService } from '@alfresco/adf-testing';
import {
ApiService,
IdentityService,
LoginSSOPage,
SettingsPage,
LocalStorageUtil,
ApplicationsService
} from '@alfresco/adf-testing';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import resources = require('../util/resources');
@@ -35,7 +42,7 @@ describe('Applications list', () => {
let applications;
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER, identityService.ROLES.APS_DEVOPS_USER]);
@@ -48,39 +55,37 @@ describe('Applications list', () => {
applicationsService = new ApplicationsService(apiService);
applications = await applicationsService.getApplicationsByStatus('RUNNING');
applications.list.entries.forEach(async (app) => {
applications.list.entries.forEach(app => {
appNames.push(app.entry.name.toLowerCase());
});
await LocalStorageUtil.setConfigField('alfresco-deployed-apps', '[]');
done();
});
afterAll(async(done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
it('[C310373] Should all the app with running state be displayed on dashboard when alfresco-deployed-apps is not used in config file', async () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudPage.checkApsContainer();
appListCloudPage.getNameOfTheApplications().then((list) => {
expect(JSON.stringify(list) === JSON.stringify(appNames)).toEqual(true);
});
const list = await appListCloudPage.getNameOfTheApplications();
await expect(JSON.stringify(list)).toEqual(JSON.stringify(appNames));
});
it('[C289910] Should the app be displayed on dashboard when is deployed on APS', () => {
browser.refresh();
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer();
it('[C289910] Should the app be displayed on dashboard when is deployed on APS', async () => {
await browser.refresh();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudPage.checkApsContainer();
appListCloudPage.checkAppIsDisplayed(simpleApp);
appListCloudPage.checkAppIsDisplayed(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name);
appListCloudPage.checkAppIsDisplayed(resources.ACTIVITI7_APPS.SUB_PROCESS_APP.name);
await appListCloudPage.checkAppIsDisplayed(simpleApp);
await appListCloudPage.checkAppIsDisplayed(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name);
await appListCloudPage.checkAppIsDisplayed(resources.ACTIVITI7_APPS.SUB_PROCESS_APP.name);
expect(appListCloudPage.countAllApps()).toEqual(3);
await expect(await appListCloudPage.countAllApps()).toEqual(3);
});
});
@@ -39,7 +39,7 @@ describe('Edit process filters cloud', () => {
let testUser, groupInfo;
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -52,191 +52,207 @@ describe('Edit process filters cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
const editProcessFilterCloud = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloud.clickCustomiseFilterHeader();
await editProcessFilterCloud.checkCustomiseFilterHeaderIsExpanded();
});
afterEach(() => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
afterEach(async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
});
it('[C291804] Delete Save and Save as actions should be displayed when clicking on custom filter header', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed().checkSaveAsButtonIsDisplayed()
.checkDeleteButtonIsDisplayed();
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
it('[C291804] Delete Save and Save as actions should be displayed when clicking on custom filter header', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsDisplayed();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
});
it('[C291805] New process filter is added when clicking Save As button', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291805] New process filter is added when clicking Save As button', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
browser.driver.sleep(1000);
await browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
await processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
});
it('[C291806] Two process filters with same name can be created when clicking the Save As button', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291806] Two process filters with same name can be created when clicking the Save As button', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
browser.driver.sleep(1000);
await browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton().setFilterName('New').clickOnSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
browser.driver.sleep(1000);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
await browser.driver.sleep(1000);
browser.driver.sleep(1000);
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
await browser.driver.sleep(1000);
await processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
});
it('[C291807] A process filter is overrided when clicking on save button', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291807] A process filter is overrided when clicking on save button', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
browser.driver.sleep(1000);
await browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
browser.driver.sleep(1000);
await browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
});
it('[C291808] A process filter is deleted when clicking on delete button', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291808] A process filter is deleted when clicking on delete button', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
browser.driver.sleep(1000);
await browser.driver.sleep(1000);
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton();
await browser.driver.sleep(1000);
browser.driver.sleep(1000);
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed();
});
it('[C291810] Process filter should not be created when process filter dialog is closed', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291810] Process filter should not be created when process filter dialog is closed', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('Cancel');
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('Cancel');
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
processCloudDemoPage.customProcessFilter('Cancel').checkProcessFilterNotDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('All Processes');
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('All Processes');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('Cancel');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('Cancel');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.customProcessFilter('Cancel').checkProcessFilterNotDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('All Processes');
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('All Processes');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
});
it('[C291811] Save button of process filter dialog should be disabled when process name is empty', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291811] Save button of process filter dialog should be disabled when process name is empty', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clearFilterName();
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('');
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(false);
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clearFilterName();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('StartDate');
expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('StartDate');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
});
it('[C291809] Process filter dialog is displayed when clicking on Save As button', () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
it('[C291809] Process filter dialog is displayed when clicking on Save As button', async () => {
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(true);
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getTitle()).toEqual('Save filter as');
expect(processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('All Processes');
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name');
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getTitle()).toEqual('Save filter as');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('All Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
});
});
@@ -16,7 +16,16 @@
*/
import { browser } from 'protractor';
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, SettingsPage, IdentityService, GroupIdentityService } from '@alfresco/adf-testing';
import {
AppListCloudPage,
StringUtil,
ApiService,
LoginSSOPage,
TasksService,
SettingsPage,
IdentityService,
GroupIdentityService
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -37,9 +46,10 @@ describe('Edit task filters cloud', () => {
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
const completedTaskName = StringUtil.generateRandomString(),
assignedTaskName = StringUtil.generateRandomString();
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -58,192 +68,229 @@ describe('Edit task filters cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
});
afterEach((done) => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
done();
afterEach(async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
});
it('[C291785] All the filters property should be set up accordingly with the Query Param', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('ASSIGNED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
it('[C291785] All the filters property should be set up accordingly with the Query Param', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('ASSIGNED');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('COMPLETED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('COMPLETED');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
});
it('[C306896] Delete Save and Save as actions should be displayed when clicking on custom filter header', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsDisplayed().checkSaveAsButtonIsDisplayed()
.checkDeleteButtonIsDisplayed();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
it('[C306896] Delete Save and Save as actions should be displayed when clicking on custom filter header', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.checkSaveButtonIsDisplayed();
await editTaskFilterCloudComponent.checkSaveAsButtonIsDisplayed();
await editTaskFilterCloudComponent.checkDeleteButtonIsDisplayed();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
});
it('[C291795] New filter is added when clicking Save As button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
it('[C291795] New filter is added when clicking Save As button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
const editTaskFilterDialog = tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
await tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
});
it('[C291796] Two filters with same name can be created when clicking the Save As button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
it('[C291796] Two filters with same name can be created when clicking the Save As button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
browser.driver.sleep(1000);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
const editTaskFilterDialog = editTaskFilterCloudComponent.editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnSaveButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
});
it('[C291797] A filter is overrided when clicking on save button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
it('[C291797] A filter is overrided when clicking on save button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
browser.driver.sleep(1000);
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
});
it('[C291798] A filter is deleted when clicking on delete button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton();
it('[C291798] A filter is deleted when clicking on delete button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
browser.driver.sleep(1000);
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
browser.driver.sleep(1000);
const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed();
});
it('[C291800] Task filter should not be created when task filter dialog is closed', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Priority');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('Cancel');
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
tasksCloudDemoPage.customTaskFilter('Cancel').checkTaskFilterNotDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toEqual('My Tasks');
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
it('[C291800] Task filter should not be created when task filter dialog is closed', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Priority');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('Cancel');
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
await tasksCloudDemoPage.customTaskFilter('Cancel').checkTaskFilterNotDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toEqual('My Tasks');
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
});
it('[C291801] Save button of task filter dialog should be disabled when task name is empty', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clearFilterName();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(false);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
it('[C291801] Save button of task filter dialog should be disabled when task name is empty', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.clickCustomiseFilterHeader();
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloud.editTaskFilterDialog().clearFilterName();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
});
it('[C291799] Task filter dialog is displayed when clicking on Save As button', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setSortFilterDropDown('Id');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(true);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getTitle()).toEqual('Save filter as');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
it('[C291799] Task filter dialog is displayed when clicking on Save As button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloud.clickCustomiseFilterHeader();
await tasksCloud.setSortFilterDropDown('Id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getTitle()).toEqual('Save filter as');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton();
});
});
@@ -16,8 +16,19 @@
*/
import {
TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
LoginSSOPage, ApiService, SettingsPage, IdentityService, GroupIdentityService, Widget, NotificationHistoryPage, TaskHeaderCloudPage, TaskFormCloudComponent
TasksService,
QueryService,
ProcessDefinitionsService,
ProcessInstancesService,
LoginSSOPage,
ApiService,
SettingsPage,
IdentityService,
GroupIdentityService,
Widget,
NotificationHistoryPage,
TaskHeaderCloudPage,
TaskFormCloudComponent
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -51,7 +62,7 @@ describe('Form Field Component - Dropdown Widget', () => {
let runningProcessInstance, testUser, groupInfo, tasklist, task;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -72,7 +83,7 @@ describe('Form Field Component - Dropdown Widget', () => {
runningProcessInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
queryService = new QueryService(apiService);
await browser.driver.sleep(4000); // eventual consistency query
await browser.sleep(4000); // eventual consistency query
tasklist = await queryService.getProcessInstanceTasks(runningProcessInstance.entry.id, simpleApp);
task = await tasklist.list.entries[0];
tasksService = new TasksService(apiService);
@@ -83,46 +94,48 @@ describe('Form Field Component - Dropdown Widget', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
identityService.deleteIdentityUser(testUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
});
it('[C290069] Should be able to read rest service dropdown options, save and complete the task form', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.formFields().checkFormIsDisplayed();
taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');
dropdown.selectOption('Clementine Bauch', 'dropdown-cloud-widget mat-select');
expect(dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
taskFormCloudComponent.checkSaveButtonIsDisplayed().clickSaveButton();
expect(dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(task.entry.name);
notificationHistoryPage.checkNotifyContains('Task has been saved successfully');
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');
await dropdown.selectOption('Clementine Bauch', 'dropdown-cloud-widget mat-select');
await expect(await dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
await taskFormCloudComponent.checkSaveButtonIsDisplayed();
await taskFormCloudComponent.clickSaveButton();
await expect(await dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(task.entry.name);
await notificationHistoryPage.checkNotifyContains('Task has been saved successfully');
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
taskFormCloudComponent.formFields().checkFormIsDisplayed();
taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');
expect(dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');
await expect(await dropdown.getSelectedOptionText('Dropdown097maj')).toBe('Clementine Bauch');
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
});
@@ -54,7 +54,7 @@ describe('Visibility conditions - cloud', () => {
checkboxVariableVariable: 'CheckboxVariableVariable'
};
beforeAll(async (done) => {
beforeAll(async () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
@@ -66,100 +66,98 @@ describe('Visibility conditions - cloud', () => {
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
navigationBarPage.clickFormCloudButton();
await navigationBarPage.navigateToFormCloudPage();
formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
done();
await formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
});
it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', () => {
it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', async () => {
widget.textWidget().isWidgetVisible(widgets.textOneId);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldValue);
widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldValue);
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldValue);
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldValue);
widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldValue);
await widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldValue);
});
it('[C309648] Should be able to see Checkbox widget when visibility condition refers to a form variable and a field', () => {
it('[C309648] Should be able to see Checkbox widget when visibility condition refers to a form variable and a field', async () => {
widget.textWidget().isWidgetVisible(widgets.textOneId);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableField);
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableField);
widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
await widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
});
it('[C309649] Should be able to see Checkbox widget when visibility condition refers to a field and a form variable', () => {
it('[C309649] Should be able to see Checkbox widget when visibility condition refers to a field and a form variable', async () => {
widget.textWidget().isWidgetVisible(widgets.textOneId);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
expect(widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldVariable)).toBe(true);
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldVariable);
widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
await widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
});
it('[C311425] Should be able to see Checkbox widget when visibility condition refers to a field and another field', () => {
it('[C311425] Should be able to see Checkbox widget when visibility condition refers to a field and another field', async () => {
widget.textWidget().isWidgetVisible(widgets.textOneId);
widget.textWidget().isWidgetVisible(widgets.textTwoId);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.textWidget().isWidgetVisible(widgets.textTwoId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
widget.textWidget().setValue(widgets.textTwoId, value.displayCheckbox);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField);
await widget.textWidget().setValue(widgets.textTwoId, value.displayCheckbox);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField);
widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
await widget.textWidget().setValue(widgets.textOneId, value.notDisplayCheckbox);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField);
});
it('[C311424] Should be able to see Checkbox widget when visibility condition refers to a variable with specific value', () => {
formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
it('[C311424] Should be able to see Checkbox widget when visibility condition refers to a variable with specific value', async () => {
await formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableValue);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableValue);
visibleCheckbox = checkboxVisibilityFormJson;
visibleCheckbox.formRepresentation.formDefinition.variables[0].value = value.notDisplayCheckbox;
formCloudDemoPage.setConfigToEditor(visibleCheckbox);
await formCloudDemoPage.setConfigToEditor(visibleCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableValue);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableValue);
visibleCheckbox = checkboxVisibilityFormJson;
visibleCheckbox.formRepresentation.formDefinition.variables[0].value = value.displayCheckbox;
formCloudDemoPage.setConfigToEditor(visibleCheckbox);
await formCloudDemoPage.setConfigToEditor(visibleCheckbox);
});
it('[C311426] Should be able to see Checkbox widget when visibility condition refers to form variable and another form variable', () => {
formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
it('[C311426] Should be able to see Checkbox widget when visibility condition refers to form variable and another form variable', async () => {
await formCloudDemoPage.setConfigToEditor(checkboxVisibilityFormJson);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableVariable);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableVariable);
visibleCheckbox = checkboxVisibilityFormJson;
visibleCheckbox.formRepresentation.formDefinition.variables[0].value = value.notDisplayCheckbox;
formCloudDemoPage.setConfigToEditor(visibleCheckbox);
await formCloudDemoPage.setConfigToEditor(visibleCheckbox);
widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableVariable);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableVariable);
visibleCheckbox = checkboxVisibilityFormJson;
visibleCheckbox.formRepresentation.formDefinition.variables[1].value = value.notDisplayCheckbox;
formCloudDemoPage.setConfigToEditor(visibleCheckbox);
await formCloudDemoPage.setConfigToEditor(visibleCheckbox);
widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableVariable);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxVariableVariable);
visibleCheckbox = checkboxVisibilityFormJson;
visibleCheckbox.formRepresentation.formDefinition.variables[0].value = value.displayCheckbox;
visibleCheckbox.formRepresentation.formDefinition.variables[1].value = value.displayCheckbox;
formCloudDemoPage.setConfigToEditor(visibleCheckbox);
await formCloudDemoPage.setConfigToEditor(visibleCheckbox);
});
});
@@ -53,7 +53,7 @@ describe('People Groups Cloud Component', () => {
let groups = [];
let clientId;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
@@ -92,211 +92,212 @@ describe('People Groups Cloud Component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
users.forEach(async (user) => {
for (const user of users) {
await identityService.deleteIdentityUser(user);
});
groups.forEach(async (group) => {
}
for (const group of groups) {
await groupIdentityService.deleteIdentityGroup(group);
});
}
done();
});
beforeEach(async () => {
await navigationBarPage.navigateToPeopleGroupCloudPage();
await peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
await peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});
afterEach(async () => {
await browser.refresh();
navigationBarPage.navigateToPeopleGroupCloudPage();
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});
describe('[C297674] Should be able to add filtering to People Cloud Component', () => {
beforeEach(() => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPeopleCloudFilterRole();
peopleGroupCloudComponentPage.checkPeopleCloudFilterRole();
beforeEach(async () => {
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
await peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
await peopleGroupCloudComponentPage.clickPeopleCloudFilterRole();
await peopleGroupCloudComponentPage.checkPeopleCloudFilterRole();
});
it('No role filtering', () => {
peopleCloudComponent.searchAssignee(noRoleUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
peopleCloudComponent.searchAssignee(apsUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.searchAssignee(activitiUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
it('No role filtering', async () => {
await peopleCloudComponent.searchAssignee(noRoleUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await peopleCloudComponent.searchAssignee(apsUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.searchAssignee(activitiUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
});
it('One role filtering', () => {
peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.ROLES.APS_USER}"]`);
peopleCloudComponent.searchAssignee(apsUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.searchAssignee(activitiUser.lastName);
peopleCloudComponent.checkUserIsNotDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
peopleCloudComponent.searchAssignee(noRoleUser.lastName);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
it('One role filtering', async () => {
await peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.ROLES.APS_USER}"]`);
await peopleCloudComponent.searchAssignee(apsUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.searchAssignee(activitiUser.lastName);
await peopleCloudComponent.checkUserIsNotDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleCloudComponent.searchAssignee(noRoleUser.lastName);
await peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
});
it('Multiple roles filtering', () => {
peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.ROLES.APS_USER}", "${identityService.ROLES.ACTIVITI_USER}"]`);
peopleCloudComponent.searchAssignee(apsUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.searchAssignee(activitiUser.lastName);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
peopleCloudComponent.searchAssignee(noRoleUser.lastName);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
it('Multiple roles filtering', async () => {
await peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.ROLES.APS_USER}", "${identityService.ROLES.ACTIVITI_USER}"]`);
await peopleCloudComponent.searchAssignee(apsUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.searchAssignee(activitiUser.lastName);
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleCloudComponent.searchAssignee(noRoleUser.lastName);
await peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
});
});
describe('[C309674] Should be able to add filtering to Group Cloud Component', () => {
beforeEach(() => {
peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
peopleGroupCloudComponentPage.clickGroupCloudFilterRole();
beforeEach(async () => {
await peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
await peopleGroupCloudComponentPage.clickGroupCloudFilterRole();
});
it('No role filtering', () => {
peopleGroupCloudComponentPage.clearField(peopleGroupCloudComponentPage.groupRoleInput);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupNoRole.name);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
it('No role filtering', async () => {
await peopleGroupCloudComponentPage.clearField(peopleGroupCloudComponentPage.groupRoleInput);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupNoRole.name);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
});
it('One role filtering', () => {
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_ADMIN}"]`);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
it('One role filtering', async () => {
await peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_ADMIN}"]`);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
});
it('[C309996] Should be able to filter groups based on composite roles Activit_Admin', () => {
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.ACTIVITI_ADMIN}"]`);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
it('[C309996] Should be able to filter groups based on composite roles Activit_Admin', async () => {
await peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.ACTIVITI_ADMIN}"]`);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
});
it('[C309996] Should be able to filter groups based on composite roles Aps_User', () => {
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_USER}"]`);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
it('[C309996] Should be able to filter groups based on composite roles Aps_User', async () => {
await peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_USER}"]`);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
});
it('[C309996] Should be able to filter groups based on composite roles Activiti_User', () => {
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.ACTIVITI_USER}"]`);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
it('[C309996] Should be able to filter groups based on composite roles Activiti_User', async () => {
await peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.ACTIVITI_USER}"]`);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
});
it('Multiple roles filtering', () => {
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_ADMIN}", "${identityService.ROLES.ACTIVITI_ADMIN}"]`);
groupCloudComponentPage.searchGroups(groupActiviti.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
groupCloudComponentPage.searchGroups(groupAps.name);
groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
groupCloudComponentPage.searchGroups(groupNoRole.name);
groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
it('Multiple roles filtering', async () => {
await peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.ROLES.APS_ADMIN}", "${identityService.ROLES.ACTIVITI_ADMIN}"]`);
await groupCloudComponentPage.searchGroups(groupActiviti.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupActiviti.name);
await groupCloudComponentPage.searchGroups(groupAps.name);
await groupCloudComponentPage.checkGroupIsDisplayed(groupAps.name);
await groupCloudComponentPage.searchGroups(groupNoRole.name);
await groupCloudComponentPage.checkGroupIsNotDisplayed(groupNoRole.name);
});
});
it('[C305033] Should fetch the preselect users based on the Validate flag set to True in Single mode selection', () => {
it('[C305033] Should fetch the preselect users based on the Validate flag set to True in Single mode selection', async () => {
peopleGroupCloudComponentPage.clickPeopleCloudSingleSelection();
peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
await peopleGroupCloudComponentPage.clickPeopleCloudSingleSelection();
await peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
await peopleGroupCloudComponentPage.clickPreselectValidation();
await expect(await peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect('[{"id":"12345","username":"someUsername","email":"someEmail"}]');
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe('');
await peopleGroupCloudComponentPage.enterPeoplePreselect('[{"id":"12345","username":"someUsername","email":"someEmail"}]');
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe('');
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${noRoleUser.idIdentityService}"}]`);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await expect(await peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${noRoleUser.idIdentityService}"}]`);
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"}]`);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"}]`);
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${apsUser.firstName} ${apsUser.lastName}`);
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${activitiUser.username}"}]`);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${activitiUser.username}"}]`);
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName} ${activitiUser.lastName}`);
});
it('[C309676] Should fetch the preselect users based on the Validate flag set to True in Multiple mode selection', () => {
it('[C309676] Should fetch the preselect users based on the Validate flag set to True in Multiple mode selection', async () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
await peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
await peopleGroupCloudComponentPage.clickPreselectValidation();
await expect(await peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${apsUser.idIdentityService}"},{"id":"${activitiUser.idIdentityService}"},` +
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${apsUser.idIdentityService}"},{"id":"${activitiUser.idIdentityService}"},` +
`{"id":"${noRoleUser.idIdentityService}"}]`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"},{"email":"${activitiUser.email}"},{"email":"${noRoleUser.email}"}]`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"},{"email":"${activitiUser.email}"},{"email":"${noRoleUser.email}"}]`);
await peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${apsUser.username}"},{"username":"${activitiUser.username}"},` +
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${apsUser.username}"},{"username":"${activitiUser.username}"},` +
`{"username":"${noRoleUser.username}"}]`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(noRoleUser.lastName);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
await peopleCloudComponent.searchAssigneeToExisting(noRoleUser.lastName);
await peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`);
});
it('[C309677] Should populate the Users without any validation when the Preselect flag is set to false', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false');
it('[C309677] Should populate the Users without any validation when the Preselect flag is set to false', async () => {
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
await peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
await expect(await peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false');
peopleGroupCloudComponentPage.enterPeoplePreselect(
await peopleGroupCloudComponentPage.enterPeoplePreselect(
`[{"id":"TestId1","firstName":"TestFirstName1","lastName":"TestLastName1"},` +
`{"id":"TestId2","firstName":"TestFirstName2","lastName":"TestLastName2"},` +
`{"id":"TestId3","firstName":"TestFirstName3","lastName":"TestLastName3"}]`);
peopleCloudComponent.checkSelectedPeople('TestFirstName1 TestLastName1');
peopleCloudComponent.checkSelectedPeople('TestFirstName2 TestLastName2');
peopleCloudComponent.checkSelectedPeople('TestFirstName3 TestLastName3');
await peopleCloudComponent.checkSelectedPeople('TestFirstName1 TestLastName1');
await peopleCloudComponent.checkSelectedPeople('TestFirstName2 TestLastName2');
await peopleCloudComponent.checkSelectedPeople('TestFirstName3 TestLastName3');
});
it('[C309678] Should not fetch the preselect users when mandatory parameters Id, Email and username are missing', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
it('[C309678] Should not fetch the preselect users when mandatory parameters Id, Email and username are missing', async () => {
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
await peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected();
await peopleGroupCloudComponentPage.clickPreselectValidation();
await expect(await peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"firstName":"${apsUser.firstName}","lastName":"${apsUser.lastName},"` +
await peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"firstName":"${apsUser.firstName}","lastName":"${apsUser.lastName},"` +
`{"firstName":"${activitiUser.firstName}","lastName":"${activitiUser.lastName}",{"firstName":"${noRoleUser.firstName}","lastName":"${noRoleUser.lastName}"]`);
browser.sleep(200);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe('');
await browser.sleep(200);
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe('');
});
});
@@ -52,7 +52,7 @@ describe('People Groups Cloud Component', () => {
let groups = [];
let clientId;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -87,7 +87,7 @@ describe('People Groups Cloud Component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async () => {
@@ -105,71 +105,71 @@ describe('People Groups Cloud Component', () => {
});
beforeEach(() => {
navigationBarPage.navigateToPeopleGroupCloudPage();
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
beforeEach(async () => {
await navigationBarPage.navigateToPeopleGroupCloudPage();
await peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
await peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});
afterEach(() => {
browser.refresh();
afterEach(async () => {
await browser.refresh();
});
it('[C305041] Should filter the People Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
it('[C305041] Should filter the People Single Selection with the Application name filter', async () => {
await peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
await peopleGroupCloudComponentPage.clickPeopleFilerByApp();
await peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
await peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
await peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
await browser.sleep(100);
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
});
it('[C305041] Should filter the People Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
it('[C305041] Should filter the People Multiple Selection with the Application name filter', async () => {
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
await peopleGroupCloudComponentPage.clickPeopleFilerByApp();
await peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
await peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
await peopleCloudComponent.searchAssigneeToExisting(`${activitiUser.firstName}`);
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
await peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
await peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${noRoleUser.firstName}`);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
await peopleCloudComponent.searchAssigneeToExisting(`${noRoleUser.firstName}`);
await peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
});
it('[C305041] Should filter the Groups Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
expect(groupCloudComponentPage.getGroupsFieldContent()).toBe(`${groupActiviti.name}`);
it('[C305041] Should filter the Groups Single Selection with the Application name filter', async () => {
await peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
await peopleGroupCloudComponentPage.clickGroupFilerByApp();
await peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
await groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
await groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
await expect(await groupCloudComponentPage.getGroupsFieldContent()).toBe(`${groupActiviti.name}`);
});
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupCloudComponentPage.searchGroups(`${groupAps.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`);
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', async () => {
await peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
await peopleGroupCloudComponentPage.clickGroupFilerByApp();
await peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
await groupCloudComponentPage.searchGroups(`${groupAps.name}`);
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
await groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);
await groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`);
await groupCloudComponentPage.searchGroupsToExisting(`${groupActiviti.name}`);
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
await groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
await groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupNoRole.name}`);
groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`);
await groupCloudComponentPage.searchGroupsToExisting(`${groupNoRole.name}`);
await groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`);
});
});
@@ -57,7 +57,7 @@ describe('Process list cloud', () => {
anotherProcessInstance;
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -99,7 +99,7 @@ describe('Process list cloud', () => {
});
queryService = new QueryService(apiService);
await browser.driver.sleep(4000); // eventual consistency query
await browser.sleep(4000); // eventual consistency query
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
@@ -112,183 +112,227 @@ describe('Process list cloud', () => {
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile));
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done();
});
afterAll(async (done) => {
afterAll(async () => {
await processInstancesService.deleteProcessInstance(anotherProcessInstance.entry.id, candidateBaseApp);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
await processInstancesService.deleteProcessInstance(anotherProcessInstance.id, candidateBaseApp);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
});
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('RUNNING');
await editProcessFilterCloudComponent.setSortFilterDropDown('Name');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
});
it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
.setSortFilterDropDown('Id').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('RUNNING');
await editProcessFilterCloudComponent.setSortFilterDropDown('Id');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
});
it('[C305054] Should display processes ordered by status when Status is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('Status').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Status')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('Status');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Status')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true);
});
it('[C305054] Should display processes ordered by initiator when Initiator is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('Initiator').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Initiator')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('Initiator');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Initiator')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Initiator')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Initiator')).toBe(true);
});
it('[C305054] Should display processes ordered by processdefinitionid date when ProcessDefinitionId is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('ProcessDefinitionId').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Id')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('ProcessDefinitionId');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true);
});
it('[C305054] Should display processes ordered by processdefinitionkey date when ProcessDefinitionKey is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('ProcessDefinitionKey').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Key')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('ProcessDefinitionKey');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true);
});
it('[C305054] Should display processes ordered by last modified date when Last Modified is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('LastModified').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('LastModified');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true);
});
it('[C305054] Should display processes ordered by business key date when BusinessKey is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('BusinessKey').setOrderFilterDropDown('ASC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true);
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.clickCustomiseFilterHeader();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('BusinessKey');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true);
});
it('[C305054] Should display the actions filters Save, SaveAs and Delete', async () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed().checkSaveAsButtonIsDisplayed()
.checkDeleteButtonIsDisplayed();
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.checkSaveButtonIsDisplayed();
await editProcessFilterCloudComponent.checkSaveAsButtonIsDisplayed();
await editProcessFilterCloudComponent.checkDeleteButtonIsDisplayed();
});
it('[C297697] The value of the filter should be preserved when saving it', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader()
.setProcessInstanceId(completedProcess.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(completedProcess.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1);
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(completedProcess.entry.id);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(completedProcess.entry.id);
});
it('[C297646] Should display the filter dropdown fine , after switching between saved filters', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
noOfApps = await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions();
noOfApps = processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().getNumberOfAppNameOptions();
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
BrowserActions.closeMenuAndDialogs();
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
.setAppNameDropDown(candidateBaseApp).setProcessInstanceId(runningProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(runningProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
expect(processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SavedFilter').clickOnSaveButton();
expect(processCloudDemoPage.getActiveFilterName()).toBe('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('SavedFilter');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
.setAppNameDropDown(candidateBaseApp).setProcessInstanceId(switchProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(switchProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SwitchFilter').clickOnSaveButton();
expect(processCloudDemoPage.getActiveFilterName()).toBe('SwitchFilter');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SwitchFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('SwitchFilter');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(switchProcessInstance.entry.id);
expect(processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(switchProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
});
describe('Process List - Check Action Filters', () => {
beforeEach(async (done) => {
beforeEach(async () => {
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
'actions': [
'save',
'saveAs'
]
}));
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
done();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
});
it('[C305054] Should display the actions filters Save and SaveAs, Delete button is not displayed', async () => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed().checkSaveAsButtonIsDisplayed()
.checkDeleteButtonIsNotDisplayed();
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsNotDisplayed();
});
});
@@ -63,7 +63,7 @@ describe('Process filters cloud', () => {
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -116,7 +116,7 @@ describe('Process filters cloud', () => {
});
queryService = new QueryService(apiService);
await browser.driver.sleep(4000); // eventual consistency query
await browser.sleep(4000); // eventual consistency query
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
@@ -129,10 +129,10 @@ describe('Process filters cloud', () => {
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile));
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile));
done();
});
afterAll(async (done) => {
afterAll(async () => {
await processInstancesService.deleteProcessInstance(runningProcessInstance.entry.id, candidateBaseApp);
await processInstancesService.deleteProcessInstance(anotherProcessInstance.entry.id, candidateBaseApp);
await processInstancesService.deleteProcessInstance(suspendProcessInstance.entry.id, candidateBaseApp);
@@ -144,166 +144,195 @@ describe('Process filters cloud', () => {
await identityService.deleteIdentityUser(testUser.idIdentityService);
await identityService.deleteIdentityUser(anotherUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
});
it('[C306887] Should be able to filter by appName', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setAppNameDropDown(candidateBaseApp).setProperty('initiator', testUser.username);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name);
});
it('[C306889] Should be able to see "No process found" when using an app with no processes in the appName field', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setAppNameDropDown('subprocessapp').setProperty('initiator', testUser.username);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
expect(processListPage.checkProcessListTitleIsDisplayed()).toEqual('No Processes Found');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown('subprocessapp');
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
});
it('[C306890] Should be able to filter by initiator', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('initiator', testUser.username);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name);
});
it('[C306891] Should be able to see "No process found" when providing an initiator whitout processes', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('initiator', anotherUser.username);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
expect(processListPage.checkProcessListTitleIsDisplayed()).toEqual('No Processes Found');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', anotherUser.username);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
});
it('[C311315] Should be able to filter by process definition id', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('processDefinitionId', processDefinition.entry.id);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', processDefinition.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', anotherProcessDefinition.entry.id);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', anotherProcessDefinition.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311316] Should be able to filter by process definition key', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('processDefinitionKey', processDefinition.entry.key);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', processDefinition.entry.key);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', anotherProcessDefinition.entry.key);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', anotherProcessDefinition.entry.key);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311317] Should be able to filter by process instance id', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('processInstanceId', runningProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', runningProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', anotherProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', anotherProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
});
it('[C311321] Should be able to filter by process name', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('processName', runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processName', runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processName', anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processName', anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
});
it('[C306892] Should be able to filter by process status - Running', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING');
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name);
});
it('[C306892] Should be able to filter by process status - Completed', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('COMPLETED');
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('COMPLETED');
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
});
it('[C306892] Should be able to filter by process status - Suspended', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('SUSPENDED');
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('SUSPENDED');
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name);
});
it('[C306892] Should be able to filter by process status - All', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ALL');
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('ALL');
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name);
});
it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = currentDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedFrom', currentDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', currentDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = beforeDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedFrom', beforeDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', beforeDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311318] Should be able to filter by lastModifiedFrom - does not display record when date = afterDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedFrom', afterDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = currentDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedTo', currentDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', currentDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311319] Should be able to filter by lastModifiedTo - does not display record when date = beforeDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedTo', beforeDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', beforeDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = afterDate', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedTo', afterDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name);
});
it('[C311319] Should not display any processes when the lastModifiedFrom and lastModifiedTo are set to a future date', () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('lastModifiedFrom', afterDate);
processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
expect(processListPage.checkProcessListTitleIsDisplayed()).toEqual('No Processes Found');
it('[C311319] Should not display any processes when the lastModifiedFrom and lastModifiedTo are set to a future date', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
});
});
@@ -57,7 +57,7 @@ describe('Process filters cloud', () => {
let runningProcess, completedProcess, testUser, groupInfo;
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -77,7 +77,7 @@ describe('Process filters cloud', () => {
completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
queryService = new QueryService(apiService);
await browser.driver.sleep(4000); // eventual consistency query
await browser.sleep(4000); // eventual consistency query
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
@@ -88,62 +88,62 @@ describe('Process filters cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 5 * 60 * 1000);
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
done();
beforeEach(async() => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
});
it('[C290021] Should be able to view default filters', () => {
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
it('[C290021] Should be able to view default filters', async () => {
await processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
});
it('[C290043] Should display process in Running Processes List when process is started', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
it('[C290043] Should display process in Running Processes List when process is started', async () => {
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(runningProcess.entry.id);
await processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
await processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(runningProcess.entry.id);
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
});
it('[C290044] Should display process in Completed Processes List when process is completed', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(completedProcess.entry.id);
it('[C290044] Should display process in Completed Processes List when process is completed', async () => {
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(completedProcess.entry.id);
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
await processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
await processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
await processCloudDemoPage.allProcessesFilter().clickProcessFilter();
await processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
});
});
@@ -68,7 +68,7 @@ describe('Process Header cloud component', () => {
let runningProcess, runningCreatedDate, parentCompleteProcess, childCompleteProcess, completedCreatedDate;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -101,63 +101,63 @@ describe('Process Header cloud component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
});
it('[C305010] Should display process details for running process', () => {
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
it('[C305010] Should display process details for running process', async () => {
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name);
await processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name);
processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
processCloudDemoPage.processListCloudComponent().selectRow(runningProcess.entry.name);
expect(processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id);
expect(processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name);
expect(processHeaderCloudPage.getStatus()).toEqual(runningProcess.entry.status);
expect(processHeaderCloudPage.getInitiator()).toEqual(runningProcess.entry.initiator);
expect(processHeaderCloudPage.getStartDate()).toEqual(runningCreatedDate);
expect(processHeaderCloudPage.getParentId()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_PARENT);
expect(processHeaderCloudPage.getBusinessKey()).toEqual(runningProcess.entry.businessKey);
expect(processHeaderCloudPage.getLastModified()).toEqual(runningCreatedDate);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(runningProcess.entry.name);
await expect(await processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id);
await expect(await processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name);
await expect(await processHeaderCloudPage.getStatus()).toEqual(runningProcess.entry.status);
await expect(await processHeaderCloudPage.getInitiator()).toEqual(runningProcess.entry.initiator);
await expect(await processHeaderCloudPage.getStartDate()).toEqual(runningCreatedDate);
await expect(await processHeaderCloudPage.getParentId()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_PARENT);
await expect(await processHeaderCloudPage.getBusinessKey()).toEqual(runningProcess.entry.businessKey);
await expect(await processHeaderCloudPage.getLastModified()).toEqual(runningCreatedDate);
});
it('[C305008] Should display process details for completed process', () => {
appListCloudComponent.goToApp(subProcessApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
it('[C305008] Should display process details for completed process', async () => {
await appListCloudComponent.goToApp(subProcessApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name);
await processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name);
processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
processCloudDemoPage.processListCloudComponent().selectRowById(childCompleteProcess.entry.id);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(childCompleteProcess.entry.id);
expect(processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id);
expect(processHeaderCloudPage.getName()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_NAME);
expect(processHeaderCloudPage.getStatus()).toEqual(childCompleteProcess.entry.status);
expect(processHeaderCloudPage.getInitiator()).toEqual(childCompleteProcess.entry.initiator);
expect(processHeaderCloudPage.getStartDate()).toEqual(completedCreatedDate);
expect(processHeaderCloudPage.getParentId()).toEqual(childCompleteProcess.entry.parentId);
expect(processHeaderCloudPage.getBusinessKey()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_BUSINESS_KEY);
expect(processHeaderCloudPage.getLastModified()).toEqual(completedCreatedDate);
await expect(await processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id);
await expect(await processHeaderCloudPage.getName()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_NAME);
await expect(await processHeaderCloudPage.getStatus()).toEqual(childCompleteProcess.entry.status);
await expect(await processHeaderCloudPage.getInitiator()).toEqual(childCompleteProcess.entry.initiator);
await expect(await processHeaderCloudPage.getStartDate()).toEqual(completedCreatedDate);
await expect(await processHeaderCloudPage.getParentId()).toEqual(childCompleteProcess.entry.parentId);
await expect(await processHeaderCloudPage.getBusinessKey()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_BUSINESS_KEY);
await expect(await processHeaderCloudPage.getLastModified()).toEqual(completedCreatedDate);
});
});
@@ -51,7 +51,7 @@ describe('Process list cloud', () => {
let jsonFile;
let runningProcess;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -73,46 +73,46 @@ describe('Process list cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(async (done) => {
beforeEach(async () => {
const processListCloudConfiguration = new ProcessListCloudConfiguration();
jsonFile = processListCloudConfiguration.getConfiguration();
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(jsonFile));
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
done();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await processCloudDemoPage.clickOnProcessFilters();
await processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
});
it('[C291997] Should be able to change the default columns', async () => {
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfColumns()).toBe(10);
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('id');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('name');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('status');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('startDate');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('appName');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('businessKey');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('initiator');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('lastModified');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('processDefinitionId');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('processDefinitionKey');
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfColumns()).toBe(10);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('id');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('name');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('status');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('startDate');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('appName');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('businessKey');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('initiator');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('lastModified');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('processDefinitionId');
await processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('processDefinitionKey');
});
@@ -47,7 +47,7 @@ describe('Process list cloud', () => {
const noOfProcesses = 3;
const processInstances = [];
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -73,97 +73,105 @@ describe('Process list cloud', () => {
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
tasksCloudDemoPage.clickSettingsButton().disableDisplayProcessDetails();
tasksCloudDemoPage.clickAppButton();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.clickOnProcessFilters();
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayProcessDetails();
await tasksCloudDemoPage.clickAppButton();
});
it('[C297469] Should NOT be able to select a process when settings are set to None', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('None');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
it('[C297469] Should NOT be able to select a process when settings are set to None', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('None');
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().getDataTable().checkNoRowIsSelected();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkNoRowIsSelected();
});
it('[C297468] Should be able to select only one process when settings are set to Single', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Single');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
it('[C297468] Should be able to select only one process when settings are set to Single', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Single');
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
});
it('[C297470] Should be able to select multiple processes using keyboard', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Multiple');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
it('[C297470] Should be able to select multiple processes using keyboard', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Multiple');
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().selectRowWithKeyboard(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsNotSelectedById(processInstances[2]);
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(2);
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().selectRowWithKeyboard(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotSelectedById(processInstances[2]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(2);
});
it('[C297465] Should be able to select multiple processes using checkboxes', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
it('[C297465] Should be able to select multiple processes using checkboxes', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]);
processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
});
it('[C299125] Should be possible to select all the rows when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
it('[C299125] Should be possible to select all the rows when multiselect is true', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed().checkAllRows();
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[2]);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed();
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRows();
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[2]);
processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed().uncheckAllRows();
processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[0]);
processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]);
processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed();
await processCloudDemoPage.processListCloudComponent().getDataTable().uncheckAllRows();
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]);
});
});
@@ -17,10 +17,10 @@
import { ApiService, GroupIdentityService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { AppListCloudPage, StartProcessCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { browser, protractor } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { StringUtil } from '@alfresco/adf-testing';
import { StringUtil, BrowserActions } from '@alfresco/adf-testing';
import resources = require('../util/resources');
describe('Start Process', () => {
@@ -46,7 +46,7 @@ describe('Start Process', () => {
let groupIdentityService: GroupIdentityService;
let testUser, groupInfo;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -59,59 +59,61 @@ describe('Start Process', () => {
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
done();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
});
afterAll(async(done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
afterEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
done();
afterEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
});
it('[C291857] Should be possible to cancel a process', () => {
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
startProcessPage.blur(startProcessPage.processNameInput);
startProcessPage.checkValidationErrorIsDisplayed(requiredError);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
startProcessPage.clickCancelProcessButton();
it('[C291857] Should be possible to cancel a process', async () => {
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.clearField(startProcessPage.processNameInput);
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
await startProcessPage.checkValidationErrorIsDisplayed(requiredError);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
await BrowserActions.closeMenuAndDialogs();
await startProcessPage.clickCancelProcessButton();
});
it('[C291842] Should be displayed an error message if process name exceed 255 characters', () => {
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.enterProcessName(processName255Characters);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
it('[C291842] Should be displayed an error message if process name exceed 255 characters', async () => {
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.enterProcessName(processName255Characters);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
startProcessPage.enterProcessName(processNameBiggerThen255Characters);
startProcessPage.blur(startProcessPage.processNameInput);
startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
await startProcessPage.enterProcessName(processNameBiggerThen255Characters);
await startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
});
it('[C291860] Should be able to start a process', () => {
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
startProcessPage.enterProcessName(processName);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
startProcessPage.clickStartProcessButton();
it('[C291860] Should be able to start a process', async () => {
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.clearField(startProcessPage.processNameInput);
await startProcessPage.enterProcessName(processName);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName);
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName);
});
@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { browser } from 'protractor';
import { browser, protractor } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import {
@@ -101,8 +101,7 @@ describe('Start Task Form', () => {
const folderName = StringUtil.generateRandomString(5);
let uploadedFolder;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -166,136 +165,140 @@ describe('Start Task Form', () => {
browser.params.config.oauth2.clientId);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
await LocalStorageUtil.setConfigField('adf-cloud-start-process', JSON.stringify(startProcessCloudConfig));
done();
});
afterAll(async (done) => {
await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
afterAll(async () => {
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
await apiService.login(testUser.email, testUser.password);
const tasksService = new TasksService(apiService);
const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp);
await tasksService.deleteTask(standAloneTaskId, candidateBaseApp);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
describe('StandaloneTask with form', () => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
});
it('[C307976] Should be able to start and save a task with a form', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName);
startTask.selectFormDefinition('StartEventForm');
startTask.clickStartButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
taskFormCloudComponent.formFields().checkFormIsDisplayed();
taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName');
taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9');
widget.textWidget().setValue('FirstName', 'sample');
widget.numberWidget().setFieldValue('Number07vyx9', 26);
taskFormCloudComponent.checkSaveButtonIsDisplayed().clickSaveButton();
expect(widget.textWidget().getFieldValue('FirstName')).toBe('sample');
expect(widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
it('[C307976] Should be able to start and save a task with a form', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.addName(standaloneTaskName);
await startTask.selectFormDefinition('StartEventForm');
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9');
await widget.textWidget().setValue('FirstName', 'sample');
await widget.numberWidget().setFieldValue('Number07vyx9', 26);
await taskFormCloudComponent.checkSaveButtonIsDisplayed();
await taskFormCloudComponent.clickSaveButton();
await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample');
await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
appListCloudComponent.goToApp(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
taskFormCloudComponent.formFields().checkFormIsDisplayed();
expect(widget.textWidget().getFieldValue('FirstName')).toBe('sample');
expect(widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample');
await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
});
it('[C311428] Should display the Standalone forms based on the flag set', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.checkFormDefinitionIsNotDisplayed('UploadFileForm');
startTask.checkFormDefinitionIsDisplayed('StartEventForm');
startTask.checkFormDefinitionIsDisplayed('FormToTestValidations');
it('[C311428] Should display the Standalone forms based on the flag set', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.checkFormDefinitionIsNotDisplayed('UploadFileForm');
await startTask.checkFormDefinitionIsDisplayed('StartEventForm');
await startTask.checkFormDefinitionIsDisplayed('FormToTestValidations');
});
});
describe('Start a process with a start event form', () => {
describe('Start a process with a start event form', async () => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
appListCloudComponent.goToApp(candidateBaseApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
startProcessPage.enterProcessName(startEventFormProcess);
startProcessPage.selectFromProcessDropdown('processwithstarteventform');
startProcessPage.formFields().checkFormIsDisplayed();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.clearField(startProcessPage.processNameInput);
await startProcessPage.enterProcessName(startEventFormProcess);
await startProcessPage.selectFromProcessDropdown('processwithstarteventform');
await startProcessPage.formFields().checkFormIsDisplayed();
});
it('[C311277] Should be able to start a process with a start event form - default values', async () => {
expect(widget.textWidget().getFieldValue('FirstName')).toBe('sample name');
expect(widget.numberWidget().getFieldValue('Number07vyx9')).toBe('17');
await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample name');
await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('17');
});
it('[C311277] Should be able to start a process with a start event form - form validation', async () => {
await expect(await widget.textWidget().getErrorMessage('FirstName')).toContain('Enter no more than 10 characters');
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
expect(widget.textWidget().getErrorMessage('FirstName')).toBe('Enter no more than 10 characters');
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
widget.textWidget().setValue('FirstName', 'Sam');
expect(widget.textWidget().getErrorMessage('FirstName')).toBe('Enter at least 5 characters');
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
widget.numberWidget().setFieldValue('Number07vyx9', 9);
expect(widget.numberWidget().getErrorMessage('Number07vyx9')).toBe('Can\'t be less than 10');
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
widget.numberWidget().setFieldValue('Number07vyx9', 99999);
expect(widget.numberWidget().getErrorMessage('Number07vyx9')).toBe('Can\'t be greater than 1,000');
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
await widget.textWidget().setValue('FirstName', 'Sam');
await expect(await widget.textWidget().getErrorMessage('FirstName')).toContain('Enter at least 5 characters');
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
await widget.numberWidget().setFieldValue('Number07vyx9', 9);
await expect(await widget.numberWidget().getErrorMessage('Number07vyx9')).toContain('Can\'t be less than 10');
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
await widget.numberWidget().setFieldValue('Number07vyx9', 99999);
await expect(await widget.numberWidget().getErrorMessage('Number07vyx9')).toContain('Can\'t be greater than 1,000');
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(false);
});
it('[C311277] Should be able to start a process with a start event form - claim and complete the process', async () => {
await widget.textWidget().setValue('FirstName', 'Sample');
await widget.numberWidget().setFieldValue('Number07vyx9', 100);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await expect(await processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processName', startEventFormProcess);
widget.textWidget().setValue('FirstName', 'Sample');
widget.numberWidget().setFieldValue('Number07vyx9', 100);
expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
startProcessPage.clickStartProcessButton();
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setProperty('processName', startEventFormProcess);
processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(startEventFormProcess);
await browser.sleep(1000);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', startEventFormProcess);
processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask');
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(startEventFormProcess);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', startEventFormProcess);
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
await processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask');
const processId = await processHeaderCloud.getId();
processDetailsCloudDemoPage.selectProcessTaskByName('StartEventFormTask');
taskFormCloudComponent.clickClaimButton();
await processDetailsCloudDemoPage.selectProcessTaskByName('StartEventFormTask');
await taskFormCloudComponent.clickClaimButton();
const taskId = await taskHeaderCloudPage.getId();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processId);
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await processCloudDemoPage.clickOnProcessFilters();
await processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processId);
});
@@ -303,200 +306,200 @@ describe('Start Task Form', () => {
describe('Attach content to process-cloud task form using upload widget', async () => {
beforeEach(async (done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
appListCloudComponent.goToApp(candidateBaseApp);
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
done();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await processCloudDemoPage.clickOnProcessFilters();
await processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
});
it('[C310358] Should be able to attach a file to a form from local', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadLocalFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadLocalFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
taskFormCloudComponent.clickClaimButton();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadLocalFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadLocalFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
const localFileWidget = widget.attachFileWidgetCloud('Attachlocalfile');
browser.sleep(5000);
localFileWidget.attachLocalFile(pdfFile.location);
localFileWidget.checkFileIsAttached(pdfFile.name);
localFileWidget.removeFile(pdfFile.name);
localFileWidget.checkFileIsNotAttached(pdfFile.name);
const localFileWidget = await widget.attachFileWidgetCloud('Attachlocalfile');
await browser.sleep(5000);
await localFileWidget.attachLocalFile(pdfFile.location);
await localFileWidget.checkFileIsAttached(pdfFile.name);
await localFileWidget.removeFile(pdfFile.name);
await localFileWidget.checkFileIsNotAttached(pdfFile.name);
});
it('[C311285] Should be able to attach a file to a form from acs repository', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
taskFormCloudComponent.clickClaimButton();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickMoveCopyButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentNodeSelectorDialogPage.clickMoveCopyButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.removeFile(testFileModel.name);
contentFileWidget.checkFileIsNotAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsDisplayed('Attachsinglecontentfile');
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.removeFile(testFileModel.name);
await contentFileWidget.checkFileIsNotAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsDisplayed('Attachsinglecontentfile');
});
it('[C311287] Content node selector default location when attaching a file to a form from acs repository', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadDefaultFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadDefaultFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
taskFormCloudComponent.clickClaimButton();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadDefaultFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadDefaultFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
expect(breadCrumbDropdownPage.getTextOfCurrentFolder()).toBe(testUser.username);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowContentIsDisplayed(folderName);
expect(contentNodeSelectorDialogPage.checkCancelButtonIsEnabled()).toBe(true);
expect(contentNodeSelectorDialogPage.checkCopyMoveButtonIsEnabled()).toBe(false);
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await expect(await breadCrumbDropdownPage.getTextOfCurrentFolder()).toBe(testUser.username);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowContentIsDisplayed(folderName);
await expect(await contentNodeSelectorDialogPage.checkCancelButtonIsEnabled()).toBe(true);
await expect(await contentNodeSelectorDialogPage.checkCopyMoveButtonIsEnabled()).toBe(false);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(folderName);
expect(contentNodeSelectorDialogPage.checkCancelButtonIsEnabled()).toBe(true);
expect(contentNodeSelectorDialogPage.checkCopyMoveButtonIsEnabled()).toBe(false);
contentNodeSelectorDialogPage.clickCancelButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(folderName);
await expect(await contentNodeSelectorDialogPage.checkCancelButtonIsEnabled()).toBe(true);
await expect(await contentNodeSelectorDialogPage.checkCopyMoveButtonIsEnabled()).toBe(false);
await contentNodeSelectorDialogPage.clickCancelButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
});
it('[C311288] No file should be attached when canceling the content node selector', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(cancelUploadFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', cancelUploadFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
taskFormCloudComponent.clickClaimButton();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(cancelUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', cancelUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowContentIsDisplayed(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowContentIsDisplayed(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickCancelButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsNotAttached(testFileModel.name);
await contentNodeSelectorDialogPage.clickCancelButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentFileWidget.checkFileIsNotAttached(testFileModel.name);
});
it('[C311289] Should be able to attach single file', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickMoveCopyButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentNodeSelectorDialogPage.clickMoveCopyButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
});
it('[C311292] Attached file is not displayed anymore after release if the form is not saved', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickMoveCopyButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentNodeSelectorDialogPage.clickMoveCopyButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
taskFormCloudComponent.clickReleaseButton();
taskFormCloudComponent.clickClaimButton();
contentFileWidget.checkFileIsNotAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsDisplayed('Attachsinglecontentfile');
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
await taskFormCloudComponent.clickReleaseButton();
await taskFormCloudComponent.clickClaimButton();
await contentFileWidget.checkFileIsNotAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsDisplayed('Attachsinglecontentfile');
});
it('[C311293] Attached file is displayed after release if the form was saved', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickMoveCopyButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
taskFormCloudComponent.clickSaveButton();
taskFormCloudComponent.clickReleaseButton();
taskFormCloudComponent.clickClaimButton();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
await contentNodeSelectorDialogPage.clickMoveCopyButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
await taskFormCloudComponent.clickSaveButton();
await taskFormCloudComponent.clickReleaseButton();
await taskFormCloudComponent.clickClaimButton();
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
});
it('[C311295] Attached file is displayed after complete', async () => {
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completeUploadFileProcess.entry.name);
processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', completeUploadFileProcess.entry.name);
processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
taskFormCloudComponent.clickClaimButton();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completeUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', completeUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
const contentFileWidget = widget.attachFileWidgetCloud('Attachsinglecontentfile');
contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
contentNodeSelectorDialogPage.checkDialogIsDisplayed();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
contentNodeSelectorDialogPage.clickMoveCopyButton();
contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
const contentFileWidget = await widget.attachFileWidgetCloud('Attachsinglecontentfile');
await contentFileWidget.clickAttachContentFile('Attachsinglecontentfile');
await contentNodeSelectorDialogPage.checkDialogIsDisplayed();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().doubleClickRowByContent(folderName);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().waitTillContentLoaded();
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().clickRowByContent(testFileModel.name);
await contentNodeSelectorDialogPage.contentListPage().dataTablePage().checkRowByContentIsSelected(testFileModel.name);
await contentNodeSelectorDialogPage.clickMoveCopyButton();
await contentNodeSelectorDialogPage.checkDialogIsNotDisplayed();
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
const taskId = await taskHeaderCloudPage.getId();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId);
contentFileWidget.checkFileIsAttached(testFileModel.name);
contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId);
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
});
});
});
@@ -62,7 +62,7 @@ describe('Start Task', () => {
let identityService: IdentityService;
let groupIdentityService: GroupIdentityService;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -80,11 +80,10 @@ describe('Start Task', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
afterAll(async () => {
const tasksService = new TasksService(apiService);
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
@@ -94,136 +93,148 @@ describe('Start Task', () => {
await tasksService.deleteTask(taskId, simpleApp);
}
}
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
});
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
peopleCloudComponent.clearAssignee();
startTask.addName(unassignedTaskName);
startTask.clickStartButton();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.clearAssignee()
.setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
const taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
expect(taskHeaderCloudPage.getId()).toBe(taskId);
expect(taskHeaderCloudPage.getAssignee()).toBe('No assignee');
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await peopleCloudComponent.clearAssignee();
await startTask.addName(unassignedTaskName);
await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
const taskId = await tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskHeaderCloudPage.getId()).toBe(taskId);
await expect(await taskHeaderCloudPage.getAssignee()).toBe('No assignee');
});
it('[C291956] Should be able to create a new standalone task without assignee', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
expect(peopleCloudComponent.getAssignee()).toContain(testUser.firstName, 'does not contain Admin');
startTask.addName(unassignedTaskName);
startTask.clickStartButton();
startTask.checkStartButtonIsEnabled();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.setStatusFilterDropDown('CREATED')
.clearAssignee();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
it('[C291956] Should be able to create a new standalone task without assignee', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await expect(await peopleCloudComponent.getAssignee()).toContain(testUser.firstName, 'does not contain Admin');
await startTask.addName(unassignedTaskName);
await startTask.clickStartButton();
await startTask.checkStartButtonIsEnabled();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
});
it('[C290166] Should be possible to cancel a task', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.checkStartButtonIsDisabled()
.blur(startTask.name)
.checkValidationErrorIsDisplayed(requiredError);
startTask.addName(standaloneTaskName)
.addDescription('descriptions')
.addDueDate('12/12/2018');
startTask.checkStartButtonIsEnabled();
startTask.clickCancelButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
it('[C290166] Should be possible to cancel a task', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.checkStartButtonIsDisabled();
await startTask.blur(await startTask.name);
await startTask.checkValidationErrorIsDisplayed(requiredError);
await startTask.addName(standaloneTaskName);
await startTask.addDescription('descriptions');
await startTask .addDueDate('12/12/2018');
await startTask.checkStartButtonIsEnabled();
await startTask.clickCancelButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
});
it('[C290180] Should be able to create a new standalone task', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName)
.addDescription('descriptions')
.addDueDate('12/12/2018')
.addPriority('50')
.clickStartButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
it('[C290180] Should be able to create a new standalone task', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.addName(standaloneTaskName);
await startTask.addDescription('descriptions');
await startTask.addDueDate('12/12/2018');
await startTask.addPriority('50');
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
});
it('[C290181] Should be displayed an error message if task name exceed 255 characters', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(taskName255Characters)
.checkStartButtonIsEnabled();
startTask.addName(taskNameBiggerThen255Characters)
.blur(startTask.name)
.checkValidationErrorIsDisplayed(lengthValidationError)
.checkStartButtonIsDisabled()
.clickCancelButton();
it('[C290181] Should be displayed an error message if task name exceed 255 characters', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.addName(taskName255Characters);
await startTask.checkStartButtonIsEnabled();
await startTask.addName(taskNameBiggerThen255Characters);
await startTask.blur(await startTask.name);
await startTask.checkValidationErrorIsDisplayed(lengthValidationError);
await startTask.checkStartButtonIsDisabled();
await startTask.clickCancelButton();
});
it('[C291774] Should be displayed an error message if the date is invalid', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.addDueDate('12/12/2018')
.checkStartButtonIsEnabled();
startTask.addDueDate('invalid date')
.blur(startTask.dueDate)
.validateDate(dateValidationError)
.checkStartButtonIsDisabled()
.clickCancelButton();
it('[C291774] Should be displayed an error message if the date is invalid', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.addDueDate('12/12/2018');
await startTask.checkStartButtonIsEnabled();
await startTask.addDueDate('invalid date');
await startTask.blur(await startTask.dueDate);
await startTask.validateDate(dateValidationError);
await startTask.checkStartButtonIsDisabled();
await startTask.clickCancelButton();
});
it('[C290182] Should be possible to assign the task to another user', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName);
peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName} ${activitiUser.lastName}`);
startTask.checkStartButtonIsEnabled();
startTask.clickStartButton();
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
it('[C290182] Should be possible to assign the task to another user', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.addName(standaloneTaskName);
await peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName} ${activitiUser.lastName}`);
await startTask.checkStartButtonIsEnabled();
await startTask.clickStartButton();
await browser.driver.sleep(1000);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
});
it('[C291953] Assignee field should display the logged user as default', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
expect(peopleCloudComponent.getAssignee()).toContain(testUser.firstName, 'does not contain Admin');
startTask.clickCancelButton();
it('[C291953] Assignee field should display the logged user as default', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await expect(await peopleCloudComponent.getAssignee()).toContain(testUser.firstName, 'does not contain Admin');
await startTask.clickCancelButton();
});
it('[C305050] Should be able to reassign the removed user when starting a new task', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(reassignTaskName);
expect(peopleCloudComponent.getAssignee()).toBe(`${testUser.firstName} ${testUser.lastName}`);
peopleCloudComponent.searchAssignee(apsUser.username);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`);
startTask.clickStartButton();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.clearAssignee()
.setStatusFilterDropDown('ALL');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName);
expect(taskHeaderCloudPage.getAssignee()).toBe(apsUser.username);
it('[C305050] Should be able to reassign the removed user when starting a new task', async () => {
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
await startTask.addName(reassignTaskName);
await expect(await peopleCloudComponent.getAssignee()).toBe(`${testUser.firstName} ${testUser.lastName}`);
await peopleCloudComponent.searchAssignee(apsUser.username);
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`);
await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName);
await browser.driver.sleep(1000);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName);
await expect(await taskHeaderCloudPage.getAssignee()).toBe(apsUser.username);
});
});
@@ -56,7 +56,7 @@ describe('Start Task - Group Cloud Component', () => {
let identityService: IdentityService;
let groupIdentityService: GroupIdentityService;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -79,10 +79,9 @@ describe('Start Task - Group Cloud Component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
const tasksService = new TasksService(apiService);
@@ -95,117 +94,113 @@ describe('Start Task - Group Cloud Component', () => {
await identityService.deleteIdentityUser(apsUser.idIdentityService);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(async () => {
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.openNewTaskForm();
await startTask.checkFormIsDisplayed();
});
afterEach(() => {
navigationBarPage.clickLogoutButton();
afterEach(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C291954] Should be able to select/delete an group for a standalone task', async () => {
peopleCloudComponent.clearAssignee();
await peopleCloudComponent.clearAssignee();
groupCloud.searchGroups(testGroup.name);
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsDisplayed(testGroup.name);
await groupCloud.selectGroupFromList(testGroup.name);
await groupCloud.checkSelectedGroup(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
await groupCloud.searchGroups(hrGroup.name);
await groupCloud.checkGroupIsDisplayed(hrGroup.name);
await groupCloud.selectGroupFromList(hrGroup.name);
await groupCloud.checkSelectedGroup(hrGroup.name);
groupCloud.searchGroups(hrGroup.name);
groupCloud.checkGroupIsDisplayed(hrGroup.name);
groupCloud.selectGroupFromList(hrGroup.name);
groupCloud.checkSelectedGroup(hrGroup.name);
await groupCloud.removeSelectedGroup(testGroup.name);
await groupCloud.checkGroupNotSelected(testGroup.name);
groupCloud.removeSelectedGroup(testGroup.name);
groupCloud.checkGroupNotSelected(testGroup.name);
await startTask.addName(oneGroupTaskName);
await startTask.clickStartButton();
startTask.addName(oneGroupTaskName);
startTask.clickStartButton();
navigationBarPage.clickLogoutButton();
await navigationBarPage.clickLogoutButton();
await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.clearAssignee()
.setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName);
});
it('[C291955] Should be able to select multiple groups when the selection mode=multiple', async () => {
peopleCloudComponent.clearAssignee();
await peopleCloudComponent.clearAssignee();
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsDisplayed(testGroup.name);
await groupCloud.selectGroupFromList(testGroup.name);
await groupCloud.checkSelectedGroup(testGroup.name);
groupCloud.searchGroups(hrGroup.name);
groupCloud.checkGroupIsDisplayed(hrGroup.name);
groupCloud.selectGroupFromList(hrGroup.name);
groupCloud.checkSelectedGroup(hrGroup.name);
await groupCloud.searchGroups(hrGroup.name);
await groupCloud.checkGroupIsDisplayed(hrGroup.name);
await groupCloud.selectGroupFromList(hrGroup.name);
await groupCloud.checkSelectedGroup(hrGroup.name);
startTask.addName(bothGroupsTaskName);
startTask.clickStartButton();
await startTask.addName(bothGroupsTaskName);
await startTask.clickStartButton();
navigationBarPage.clickLogoutButton();
await navigationBarPage.clickLogoutButton();
await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.clearAssignee()
.setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName);
});
it('[C291993] Should NOT be able to find a group already selected', () => {
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
it('[C291993] Should NOT be able to find a group already selected', async () => {
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsDisplayed(testGroup.name);
await groupCloud.selectGroupFromList(testGroup.name);
await groupCloud.checkSelectedGroup(testGroup.name);
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsNotDisplayed(testGroup.name);
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsNotDisplayed(testGroup.name);
});
it('[C291995] Should be able to add a group previously removed', async () => {
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsDisplayed(testGroup.name);
await groupCloud.selectGroupFromList(testGroup.name);
await groupCloud.checkSelectedGroup(testGroup.name);
groupCloud.removeSelectedGroup(testGroup.name);
groupCloud.checkGroupNotSelected(testGroup.name);
await groupCloud.removeSelectedGroup(testGroup.name);
await groupCloud.checkGroupNotSelected(testGroup.name);
groupCloud.searchGroups(testGroup.name);
groupCloud.checkGroupIsDisplayed(testGroup.name);
groupCloud.selectGroupFromList(testGroup.name);
groupCloud.checkSelectedGroup(testGroup.name);
await groupCloud.searchGroups(testGroup.name);
await groupCloud.checkGroupIsDisplayed(testGroup.name);
await groupCloud.selectGroupFromList(testGroup.name);
await groupCloud.checkSelectedGroup(testGroup.name);
});
});
@@ -38,7 +38,7 @@ describe('Task filters cloud', () => {
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(async(done) => {
beforeAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -53,24 +53,24 @@ describe('Task filters cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
});
it('[C290011] Should display default filters when an app is deployed', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.completedTasksFilter().checkTaskFilterIsDisplayed();
it('[C290011] Should display default filters when an app is deployed', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await tasksCloudDemoPage.completedTasksFilter().checkTaskFilterIsDisplayed();
});
it('[C290009] Should display default filters and created task', async () => {
@@ -79,14 +79,14 @@ describe('Task filters cloud', () => {
const task = await tasksService.createStandaloneTask(newTask, simpleApp);
await tasksService.claimTask(task.entry.id, simpleApp);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask);
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(newTask);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(newTask);
});
it('[C289955] Should display task in Complete Tasks List when task is completed', async () => {
@@ -96,19 +96,19 @@ describe('Task filters cloud', () => {
await tasksService.claimTask(toBeCompletedTask.entry.id, simpleApp);
await tasksService.completeTask(toBeCompletedTask.entry.id, simpleApp);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask);
});
it('[C291792] Should select the first task filter from the list as default', () => {
it('[C291792] Should select the first task filter from the list as default', async () => {
expect(tasksCloudDemoPage.firstFilterIsActive()).toBe(true);
await expect(await tasksCloudDemoPage.firstFilterIsActive()).toBe(true);
});
});
@@ -27,7 +27,7 @@ import {
SettingsPage,
TaskHeaderCloudPage,
TaskFormCloudComponent,
Widget, IdentityService
Widget, IdentityService, GroupIdentityService
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -50,21 +50,29 @@ describe('Task form cloud component', () => {
let processDefinitionService: ProcessDefinitionsService;
let processInstancesService: ProcessInstancesService;
let identityService: IdentityService;
let groupIdentityService: GroupIdentityService;
let completedTask, createdTask, assigneeTask, toBeCompletedTask, formValidationsTask, testUser;
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
beforeAll(async (done) => {
beforeAll(async () => {
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]);
const groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
await apiService.login(testUser.email, testUser.password);
tasksService = new TasksService(apiService);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp);
@@ -92,157 +100,161 @@ describe('Task form cloud component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 5 * 60 * 1000);
afterAll(async (done) => {
afterAll(async () => {
try {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await identityService.deleteIdentityUser(testUser.id);
} catch (error) {
}
await this.alfrescoJsApi.logout();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
done();
await browser.executeScript('window.sessionStorage.clear();');
await browser.executeScript('window.localStorage.clear();');
});
it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
expect(taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
await expect(await taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE');
});
it('[C310142] Empty content is displayed when having a task without form', async () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
taskFormCloudComponent.checkFormIsNotDisplayed();
expect(taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name);
taskFormCloudComponent.checkFormContentIsEmpty();
expect(taskFormCloudComponent.getEmptyFormContentTitle()).toBe(`No form available`);
expect(taskFormCloudComponent.getEmptyFormContentSubtitle()).toBe(`Attach a form that can be viewed later`);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
await taskFormCloudComponent.checkFormIsNotDisplayed();
await expect(await taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name);
await taskFormCloudComponent.checkFormContentIsEmpty();
await expect(await taskFormCloudComponent.getEmptyFormContentTitle()).toBe(`No form available`);
await expect(await taskFormCloudComponent.getEmptyFormContentSubtitle()).toBe(`Attach a form that can be viewed later`);
});
it('[C310199] Should not be able to complete a task when required field is empty or invalid data is added to a field', async () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name);
taskFormCloudComponent.checkFormIsDisplayed();
taskFormCloudComponent.formFields().checkFormIsDisplayed();
taskFormCloudComponent.formFields().checkWidgetIsVisible('Text0tma8h');
taskFormCloudComponent.formFields().checkWidgetIsVisible('Date0m1moq');
taskFormCloudComponent.formFields().checkWidgetIsVisible('Number0klykr');
taskFormCloudComponent.formFields().checkWidgetIsVisible('Amount0mtp1h');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name);
await taskFormCloudComponent.checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Text0tma8h');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Date0m1moq');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number0klykr');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Amount0mtp1h');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
widget.textWidget().setValue('Text0tma8h', 'Some random text');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(false);
await widget.textWidget().setValue('Text0tma8h', 'Some random text');
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(true);
widget.dateWidget().setDateInput('Date0m1moq', 'invalid date');
await widget.dateWidget().setDateInput('Date0m1moq', 'invalid date');
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(false);
widget.dateWidget().setDateInput('Date0m1moq', '20-10-2018');
await widget.dateWidget().setDateInput('Date0m1moq', '20-10-2018');
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(true);
widget.numberWidget().setFieldValue('Number0klykr', 'invalid number');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
await widget.numberWidget().setFieldValue('Number0klykr', 'invalid number');
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(false);
widget.numberWidget().setFieldValue('Number0klykr', '26');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
await widget.numberWidget().setFieldValue('Number0klykr', '26');
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(true);
widget.amountWidget().setFieldValue('Amount0mtp1h', 'invalid amount');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false);
await widget.amountWidget().setFieldValue('Amount0mtp1h', 'invalid amount');
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(false);
widget.amountWidget().setFieldValue('Amount0mtp1h', '660');
expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true);
await widget.amountWidget().setFieldValue('Amount0mtp1h', '660');
await expect(await (await taskFormCloudComponent.getCompleteButton()).isEnabled()).toBe(true);
});
describe('Complete task - cloud directive', () => {
beforeEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateBaseApp);
done();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateBaseApp);
});
it('[C307093] Complete button is not displayed when the task is already completed', async () => {
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307095] Task can not be completed by owner user', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
browser.driver.sleep(1000);
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(createdTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
await browser.driver.sleep(1000);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(createdTask.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307110] Task list is displayed after clicking on Cancel button', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.clickCancelButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.clickCancelButton();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
});
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(toBeCompletedTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(toBeCompletedTask.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307111] Task of a process can be completed by a user that is owner and assignee', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C307111] Task of a process can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTask.entry.name);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTask.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
});
@@ -55,7 +55,7 @@ describe('Task Header cloud component', () => {
let identityService: IdentityService;
let groupIdentityService: GroupIdentityService;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -91,82 +91,77 @@ describe('Task Header cloud component', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
});
it('[C291943] Should display task details for assigned task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);
expect(taskHeaderCloudPage.getId()).toEqual(basicCreatedTask.entry.id);
expect(taskHeaderCloudPage.getDescription())
it('[C291943] Should display task details for assigned task', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);
await expect(await taskHeaderCloudPage.getId()).toEqual(basicCreatedTask.entry.id);
await expect(await taskHeaderCloudPage.getDescription())
.toEqual(basicCreatedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : basicCreatedTask.entry.description);
expect(taskHeaderCloudPage.getStatus()).toEqual(basicCreatedTask.entry.status);
expect(taskHeaderCloudPage.getPriority()).toEqual(basicCreatedTask.entry.priority === 0 ? '' : basicCreatedTask.entry.priority.toString());
expect(taskHeaderCloudPage.getCategory()).toEqual(!basicCreatedTask.entry.category ?
await expect(await taskHeaderCloudPage.getStatus()).toEqual(basicCreatedTask.entry.status);
await expect(await taskHeaderCloudPage.getPriority()).toEqual(basicCreatedTask.entry.priority === 0 ? '' : basicCreatedTask.entry.priority.toString());
await expect(await taskHeaderCloudPage.getCategory()).toEqual(!basicCreatedTask.entry.category ?
CONSTANTS.TASK_DETAILS.NO_CATEGORY : basicCreatedTask.entry.category);
expect(taskHeaderCloudPage.getDueDate()).toEqual(basicCreatedTask.entry.dueDate === null ?
await expect(await taskHeaderCloudPage.getDueDate()).toEqual(basicCreatedTask.entry.dueDate === null ?
CONSTANTS.TASK_DETAILS.NO_DATE : basicCreatedDate);
expect(taskHeaderCloudPage.getEndDate()).toEqual('');
expect(taskHeaderCloudPage.getCreated()).toEqual(basicCreatedDate);
expect(taskHeaderCloudPage.getAssignee()).toEqual(basicCreatedTask.entry.assignee === null ? '' : basicCreatedTask.entry.assignee);
expect(taskHeaderCloudPage.getParentName()).toEqual(CONSTANTS.TASK_DETAILS.NO_PARENT);
expect(taskHeaderCloudPage.getParentTaskId())
.toEqual(basicCreatedTask.entry.parentTaskId === null ? '' : basicCreatedTask.entry.parentTaskId);
await expect(await taskHeaderCloudPage.getEndDate()).toEqual('');
await expect(await taskHeaderCloudPage.getCreated()).toEqual(basicCreatedDate);
await expect(await taskHeaderCloudPage.getAssignee()).toEqual(basicCreatedTask.entry.assignee === null ? '' : basicCreatedTask.entry.assignee);
await expect(await taskHeaderCloudPage.getParentName()).toEqual(CONSTANTS.TASK_DETAILS.NO_PARENT);
});
it('[C291944] Should display task details for completed task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
expect(taskHeaderCloudPage.getId()).toEqual(completedTask.entry.id);
expect(taskHeaderCloudPage.getDescription())
it('[C291944] Should display task details for completed task', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await expect(await taskHeaderCloudPage.getId()).toEqual(completedTask.entry.id);
await expect(await taskHeaderCloudPage.getDescription())
.toEqual(completedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : completedTask.entry.description);
expect(taskHeaderCloudPage.getStatus()).toEqual(completedTask.entry.status);
expect(taskHeaderCloudPage.getPriority()).toEqual(completedTask.entry.priority === '0' ? '' : completedTask.entry.priority.toString());
expect(taskHeaderCloudPage.getCategory()).toEqual(!completedTask.entry.category ?
await expect(await taskHeaderCloudPage.getStatus()).toEqual(completedTask.entry.status);
await expect(await taskHeaderCloudPage.getPriority()).toEqual(completedTask.entry.priority === '0' ? '' : completedTask.entry.priority.toString());
await expect(await taskHeaderCloudPage.getCategory()).toEqual(!completedTask.entry.category ?
CONSTANTS.TASK_DETAILS.NO_CATEGORY : completedTask.entry.category);
expect(taskHeaderCloudPage.getDueDate()).toEqual(completedTask.entry.dueDate === null ?
await expect(await taskHeaderCloudPage.getDueDate()).toEqual(completedTask.entry.dueDate === null ?
CONSTANTS.TASK_DETAILS.NO_DATE : completedCreatedDate);
expect(taskHeaderCloudPage.getEndDate()).toEqual(completedEndDate);
expect(taskHeaderCloudPage.getCreated()).toEqual(completedCreatedDate);
expect(taskHeaderCloudPage.getAssignee()).toEqual(completedTask.entry.assignee === null ? '' : completedTask.entry.assignee);
expect(taskHeaderCloudPage.getParentName()).toEqual(CONSTANTS.TASK_DETAILS.NO_PARENT);
expect(taskHeaderCloudPage.getParentTaskId())
.toEqual(completedTask.entry.parentTaskId === null ? '' : completedTask.entry.parentTaskId);
await expect(await taskHeaderCloudPage.getEndDate()).toEqual(completedEndDate);
await expect(await taskHeaderCloudPage.getCreated()).toEqual(completedCreatedDate);
await expect(await taskHeaderCloudPage.getAssignee()).toEqual(completedTask.entry.assignee === null ? '' : completedTask.entry.assignee);
await expect(await taskHeaderCloudPage.getParentName()).toEqual(CONSTANTS.TASK_DETAILS.NO_PARENT);
});
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name);
expect(taskHeaderCloudPage.getId()).toEqual(subTask.entry.id);
expect(taskHeaderCloudPage.getDescription())
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name);
await expect(await taskHeaderCloudPage.getId()).toEqual(subTask.entry.id);
await expect(await taskHeaderCloudPage.getDescription())
.toEqual(subTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : subTask.entry.description);
expect(taskHeaderCloudPage.getStatus()).toEqual(subTask.entry.status);
expect(taskHeaderCloudPage.getPriority()).toEqual(subTask.entry.priority === 0 ? '' : subTask.entry.priority.toString());
expect(taskHeaderCloudPage.getCategory()).toEqual(!subTask.entry.category ?
await expect(await taskHeaderCloudPage.getStatus()).toEqual(subTask.entry.status);
await expect(await taskHeaderCloudPage.getPriority()).toEqual(subTask.entry.priority === 0 ? '' : subTask.entry.priority.toString());
await expect(await taskHeaderCloudPage.getCategory()).toEqual(!subTask.entry.category ?
CONSTANTS.TASK_DETAILS.NO_CATEGORY : subTask.entry.category);
expect(taskHeaderCloudPage.getDueDate()).toEqual(subTask.entry.dueDate === null ?
await expect(await taskHeaderCloudPage.getDueDate()).toEqual(subTask.entry.dueDate === null ?
CONSTANTS.TASK_DETAILS.NO_DATE : subTaskCreatedDate);
expect(taskHeaderCloudPage.getEndDate()).toEqual('');
expect(taskHeaderCloudPage.getCreated()).toEqual(subTaskCreatedDate);
expect(taskHeaderCloudPage.getAssignee()).toEqual(subTask.entry.assignee === null ? '' : subTask.entry.assignee);
expect(taskHeaderCloudPage.getParentName()).toEqual(basicCreatedTask.entry.name);
expect(taskHeaderCloudPage.getParentTaskId())
await expect(await taskHeaderCloudPage.getEndDate()).toEqual('');
await expect(await taskHeaderCloudPage.getCreated()).toEqual(subTaskCreatedDate);
await expect(await taskHeaderCloudPage.getAssignee()).toEqual(subTask.entry.assignee === null ? '' : subTask.entry.assignee);
await expect(await taskHeaderCloudPage.getParentName()).toEqual(basicCreatedTask.entry.name);
await expect(await taskHeaderCloudPage.getParentTaskId())
.toEqual(subTask.entry.parentTaskId === null ? '' : subTask.entry.parentTaskId);
});
@@ -177,18 +172,18 @@ describe('Task Header cloud component', () => {
'"defaultDateTimeFormat": "M/d/yy, h:mm a",' +
'"defaultLocale": "uk"' +
'}');
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
});
it('[C311280] Should pick up the default date format from the app configuration', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
expect(taskHeaderCloudPage.getCreated()).toEqual(defaultDate);
it('[C311280] Should pick up the default date format from the app configuration', async () => {
await tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskHeaderCloudPage.getCreated()).toEqual(defaultDate);
});
});
});
@@ -56,7 +56,7 @@ describe('Edit task filters and task list properties', () => {
const currentDate = DateUtil.formatDate('DD/MM/YYYY');
const afterDate = moment().add(1, 'days').format('DD/MM/YYYY');
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
@@ -138,7 +138,6 @@ describe('Edit task filters and task list properties', () => {
'delete'
]
}));
done();
}, 5 * 60 * 1000);
afterAll(async (done) => {
@@ -149,326 +148,348 @@ describe('Edit task filters and task list properties', () => {
describe('Edit task filters and task list properties - filter properties', () => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
});
it('[C292004] Filter by appName', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C292004] Filter by appName', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C291906] Should be able to see only the task with specific taskId when typing it in the task Id field', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C291906] Should be able to see only the task with specific taskId when typing it in the task Id field', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setId(createdTask.entry.id);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual(createdTask.entry.id);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(createdTask.entry.id);
tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameId(createdTask.entry.id).then((list) => {
expect(list.length).toEqual(1);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId(createdTask.entry.id);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameId(createdTask.entry.id).then(async (list) => {
await expect(list.length).toEqual(1);
});
});
it('[C291907] Should be able to see No tasks found when typing an invalid task id', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C291907] Should be able to see No tasks found when typing an invalid task id', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setId('invalidId');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual('invalidId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId('invalidId');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual('invalidId');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297476] Filter by taskName', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297476] Filter by taskName', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then((list) => {
expect(list.length).toEqual(1);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then(async (list) => {
await expect(list.length).toEqual(1);
});
});
it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName('invalidName');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual('invalidName');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName('invalidName');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual('invalidName');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297480] Should be able to see only tasks that are part of a specific process when processInstanceId is set', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297480] Should be able to see only tasks that are part of a specific process when processInstanceId is set', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id)
.setStatusFilterDropDown('ALL').clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
browser.sleep(1000);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
});
it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId('invalidTaskId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId('invalidTaskId');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297478] Should be able to see only tasks that are assigned to a specific user when assignee is set', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297478] Should be able to see only tasks that are assigned to a specific user when assignee is set', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('admin.adf');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('admin.adf');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name);
});
it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('invalid');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('invalid');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297482] Should be able to see only tasks with specific priority when priority is set', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297482] Should be able to see only tasks with specific priority when priority is set', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority(priority);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority(priority);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297687] Should be able to see No tasks found when typing unused value for priority field', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('87650');
it('[C297687] Should be able to see No tasks found when typing unused value for priority field', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('87650');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297481] Should be able to see only tasks with specific parentTaskId when parentTaskId is set', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297481] Should be able to see only tasks with specific parentTaskId when parentTaskId is set', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297486] Filter by Owner', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297486] Filter by Owner', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL').clearAssignee().setOwner(testUser.username);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner(testUser.username);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297484] Task is displayed when typing into lastModifiedFrom field a date before the task CreatedDate', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297484] Task is displayed when typing into lastModifiedFrom field a date before the task CreatedDate', async() => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task CreatedDate', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task CreatedDate', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' +
'and into lastModifiedTo a date before task due date', () => {
'and into lastModifiedTo a date before task due date', async () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' +
'and into lastModifiedTo a date after', () => {
'and into lastModifiedTo a date after', async () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
});
it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' +
'and into lastModifiedTo a date after', () => {
'and into lastModifiedTo a date after', async () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await expect(await tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
});
describe('Edit task filters and task list properties - sort properties', () => {
beforeEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
done();
});
it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
});
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('Id').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
});
it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('ProcessDefinitionId').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true);
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true);
});
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('ProcessInstanceId').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessInstanceId')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true);
});
it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('Assignee').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Assignee')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true);
});
it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('ParentTaskId').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ParentTaskId')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true);
});
it('[C290087] Should display tasks ordered by priority when Priority is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('Priority').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Priority')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
});
it('[C307114] Should display tasks sorted by standAlone when standAlone is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('StandAlone').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'StandAlone')).toBe(true);
it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessDefinitionId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'StandAlone')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true);
});
it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
.setSortFilterDropDown('Owner').setOrderFilterDropDown('ASC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Owner')).toBe(true);
it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessInstanceId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessInstanceId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true);
});
it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Assignee');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Assignee')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true);
});
it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ParentTaskId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ParentTaskId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true);
});
it('[C290087] Should display tasks ordered by priority when Priority is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Priority')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority')).toBe(true);
});
it('[C307114] Should display tasks sorted by standAlone when standAlone is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('StandAlone');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'StandAlone')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'StandAlone')).toBe(true);
});
it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Owner');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Owner')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true);
});
});
@@ -46,7 +46,7 @@ describe('Task list cloud - selection', () => {
let response, testUser, groupInfo;
const tasks = [];
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -69,118 +69,130 @@ describe('Task list cloud - selection', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
});
afterAll(async(done) => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
});
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
});
it('[C291914] Should not be able to select any row when selection mode is set to None', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('None');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C291914] Should not be able to select any row when selection mode is set to None', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('None');
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkNoRowIsSelected();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkNoRowIsSelected();
});
it('[C291918] Should be able to select only one row when selection mode is set to Single', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Single');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C291918] Should be able to select only one row when selection mode is set to Single', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Single');
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
});
it('[C291919] Should be able to select only one row when selection mode is set to Multiple', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Multiple');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C291919] Should be able to select only one row when selection mode is set to Multiple', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Multiple');
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().selectRowWithKeyboard(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotSelected(tasks[2]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().selectRowWithKeyboard(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotSelected(tasks[2]);
});
it('[C291916] Should be able to select multiple row when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C291916] Should be able to select multiple row when multiselect is true', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[2]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[2]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[2]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[2]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
});
it('[C291915] Should be possible select all the rows when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C291915] Should be possible select all the rows when multiselect is true', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable()
.checkAllRowsButtonIsDisplayed()
.checkAllRows();
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[2]);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkAllRows();
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[2]);
});
it('[C297472] Should be able to see selected tasks with Multiselection and Testing switched on', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickSettingsButton().enableTestingMode();
tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
it('[C297472] Should be able to see selected tasks with Multiselection and Testing switched on', async () => {
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableTestingMode();
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[0]);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
await tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
expect(tasksCloudDemoPage.getNoOfSelectedRows()).toBe(2);
expect(tasksCloudDemoPage.getSelectedTaskRowText('1')).toBe(tasks[0]);
expect(tasksCloudDemoPage.getSelectedTaskRowText('2')).toBe(tasks[1]);
await expect(await tasksCloudDemoPage.getNoOfSelectedRows()).toBe(2);
await expect(await tasksCloudDemoPage.getSelectedTaskRowText('1')).toBe(tasks[0]);
await expect(await tasksCloudDemoPage.getSelectedTaskRowText('2')).toBe(tasks[1]);
});
});
@@ -60,7 +60,7 @@ describe('Task filters cloud', () => {
let priority = 30;
const nrOfTasks = 3;
beforeAll(async (done) => {
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -93,7 +93,7 @@ describe('Task filters cloud', () => {
queryService = new QueryService(apiService);
await browser.driver.sleep(4000); // eventual consistency query
await browser.sleep(4000); // eventual consistency query
await queryService.getProcessInstanceTasks(secondProcessInstance.entry.id, simpleApp);
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp);
@@ -104,67 +104,73 @@ describe('Task filters cloud', () => {
browser.params.config.oauth2.host,
browser.params.config.identityHost);
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
done();
}, 5 * 60 * 1000 );
afterAll(async(done) => {
}, 5 * 60 * 1000);
afterAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
done();
}, 60000);
beforeEach(async (done) => {
beforeEach(async () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
done();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
});
it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ASSIGNED');
it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
});
it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.setStatusFilterDropDown('COMPLETED');
it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('COMPLETED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
});
it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee()
.setStatusFilterDropDown('ALL');
it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
});
it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
});
it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CANCELLED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CANCELLED');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
});
});
});