[AAE-4379] i18n fixes (#6515)

* add missing translations

* add missing translations

* fix unit tests

* reduce overhead

* update e2e

* update e2e

* cleanup e2e

* cleanup e2e

* cleanup e2e

* update e2e

* update e2e

* update code

* update code

* update code

* update code

* code fixes

* code fixes

* code fixes
This commit is contained in:
Denys Vuika
2021-01-11 09:30:45 +00:00
committed by GitHub
parent d369fa6925
commit f8526c4dc0
38 changed files with 1373 additions and 1143 deletions

View File

@@ -37,6 +37,8 @@ describe('Edit process filters cloud', () => {
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -66,194 +68,199 @@ describe('Edit process filters cloud', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
const editProcessFilterCloud = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloud.openFilter(); await editProcessFilter.openFilter();
await editProcessFilterCloud.checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
}); });
it('[C291804] Delete Save and Save as actions should be displayed when clicking on default filter header', async () => { it('[C291804] Delete Save and Save as actions should be displayed when clicking on default filter header', async () => {
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('All'); await expect(await processFilter.getActiveFilterName()).toBe('All');
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed(); await editProcessFilter.checkSaveButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed(); await editProcessFilter.checkSaveAsButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsDisplayed(); await editProcessFilter.checkDeleteButtonIsDisplayed();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(false); await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(false);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
}); });
it('[C586757] Delete Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => { it('[C586757] Delete Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => {
await createNewProcessCustomFilter('New'); await createNewProcessCustomFilter('New');
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); await processFilter.clickProcessFilter('custom-new');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); await editProcessFilter.setSortFilterDropDown('Start Date');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date');
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed(); await editProcessFilter.checkSaveButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed(); await editProcessFilter.checkSaveAsButtonIsDisplayed();
await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsDisplayed(); await editProcessFilter.checkDeleteButtonIsDisplayed();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(true); await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(true); await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(true);
}); });
it('[C291805] New process filter is added when clicking Save As button', async () => { it('[C291805] New process filter is added when clicking Save As button', async () => {
await createNewProcessCustomFilter('New'); await createNewProcessCustomFilter('New');
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date');
await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); await processFilter.clickProcessFilter('custom-new');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await editProcessFilter.clickDeleteButton();
}); });
it('[C291806] Two process filters with same name can be created when clicking the Save As button', async () => { it('[C291806] Two process filters with same name can be created when clicking the Save As button', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Process Name'); await editProcessFilter.setSortFilterDropDown('Process Name');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await editProcessFilter.clickDeleteButton();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); await processFilter.clickProcessFilter('custom-new');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await editProcessFilter.clickDeleteButton();
}); });
it('[C291807] A process filter is overrided when clicking on save button', async () => { it('[C291807] A process filter is overrided when clicking on save button', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Process Name'); await editProcessFilter.setSortFilterDropDown('Process Name');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); await editProcessFilter.clickSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await editProcessFilter.clickDeleteButton();
}); });
it('[C291808] A process filter is deleted when clicking on delete button', async () => { it('[C291808] A process filter is deleted when clicking on delete button', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processFilter.getActiveFilterName()).toBe('New');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await editProcessFilter.clickDeleteButton();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.processFilterCloudComponent.checkProcessFilterNotDisplayed('New'); await processFilter.checkProcessFilterNotDisplayed('New');
}); });
it('[C291810] Process filter should not be created when process filter dialog is closed', async () => { it('[C291810] Process filter should not be created when process filter dialog is closed', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('Cancel'); await editProcessFilter.editProcessFilterDialog().setFilterName('Cancel');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('Cancel'); await expect(await editProcessFilter.editProcessFilterDialog().getFilterName()).toEqual('Cancel');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton(); await editProcessFilter.editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.processFilterCloudComponent.checkProcessFilterNotDisplayed('Cancel'); await processFilter.checkProcessFilterNotDisplayed('Cancel');
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.ALL); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.ALL);
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.ALL); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.ALL);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
}); });
it('[C291811] Save button of process filter dialog should be disabled when process name is empty', async () => { it('[C291811] Save button of process filter dialog should be disabled when process name is empty', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clearFilterName();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual(''); const dialog = editProcessFilter.editProcessFilterDialog();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(false); await dialog.clearFilterName();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await expect(await dialog.getFilterName()).toEqual('');
await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(false);
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await dialog.clickOnCancelButton();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton();
await editProcessFilter.openFilter();
await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
await editProcessFilter.setSortFilterDropDown('Start Date');
await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date');
await editProcessFilter.clickSaveButton();
}); });
it('[C291809] Process filter dialog is displayed when clicking on Save As button', async () => { it('[C291809] Process filter dialog is displayed when clicking on Save As button', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name'); await editProcessFilter.setSortFilterDropDown('Name');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(true); const dialog = editProcessFilter.editProcessFilterDialog();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getTitle()).toEqual('Save filter as');
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual(PROCESSES.ALL); await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton(); await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(true);
await expect(await dialog.getTitle()).toEqual('Save filter as');
await expect(await dialog.getFilterName()).toEqual(PROCESSES.ALL);
await dialog.clickOnCancelButton();
}); });
async function createNewProcessCustomFilter(name: string): Promise<void> { async function createNewProcessCustomFilter(name: string): Promise<void> {
await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); await editProcessFilter.setSortFilterDropDown('Id');
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processFilter.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName(name); await editProcessFilter.editProcessFilterDialog().setFilterName(name);
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
} }
}); });

View File

@@ -35,7 +35,10 @@ describe('Edit task filters cloud', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -47,6 +50,18 @@ describe('Edit task filters cloud', () => {
const completedTaskName = StringUtil.generateRandomString(), const completedTaskName = StringUtil.generateRandomString(),
assignedTaskName = StringUtil.generateRandomString(); assignedTaskName = StringUtil.generateRandomString();
async function openFilter() {
await editTaskFilter.openFilter();
}
async function clickTaskFilter(name: string) {
await taskFilter.clickTaskFilter(name);
}
async function waitTillContentLoaded() {
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
}
beforeAll(async () => { beforeAll(async () => {
await apiService.loginWithProfile('identityAdmin'); await apiService.loginWithProfile('identityAdmin');
@@ -74,281 +89,271 @@ describe('Edit task filters cloud', () => {
}); });
afterEach(async () => { afterEach(async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
}); });
it('[C291785] All the filters property should be set up accordingly with the Query Param', async () => { it('[C291785] All the filters property should be set up accordingly with the Query Param', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('ASSIGNED'); await expect(await editTaskFilter.getStatusFilterDropDownValue()).toEqual('Assigned', `Status is no 'Assigned'`);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate', `Sort filter is not 'createdDate'`);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); await expect(await editTaskFilter.getOrderFilterDropDownValue()).toEqual('Descending', `Order is not 'Descending'`);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('COMPLETED'); await expect(await editTaskFilter.getStatusFilterDropDownValue()).toEqual('Completed', `Status is not 'Completed'`);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate', `Sort filter is not 'createdDate'`);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); await expect(await editTaskFilter.getOrderFilterDropDownValue()).toEqual('Descending', `Order is not 'Descending'`);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
}); });
it('[C306896] Delete Save and Save as actions should be displayed and disabled when clicking on default filter header', async () => { it('[C306896] Delete Save and Save as actions should be displayed and disabled when clicking on default filter header', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.checkSaveButtonIsDisplayed(); await editTaskFilter.checkSaveButtonIsDisplayed();
await editTaskFilterCloudComponent.checkSaveAsButtonIsDisplayed(); await editTaskFilter.checkSaveAsButtonIsDisplayed();
await editTaskFilterCloudComponent.checkDeleteButtonIsDisplayed(); await editTaskFilter.checkDeleteButtonIsDisplayed();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(false); await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(false);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
}); });
it('[C586756] Delete, Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => { it('[C586756] Delete, Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => {
await createNewCustomFilter('New'); await createNewCustomFilter('New');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); await clickTaskFilter('custom-new');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); await clickTaskFilter('custom-new');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent();
await editTaskFilterCloudComponent.setSortFilterDropDown('Priority');
await editTaskFilterCloudComponent.checkSaveButtonIsDisplayed(); await editTaskFilter.setSortFilterDropDown('priority');
await editTaskFilterCloudComponent.checkSaveAsButtonIsDisplayed(); await editTaskFilter.checkSaveButtonIsDisplayed();
await editTaskFilterCloudComponent.checkDeleteButtonIsDisplayed(); await editTaskFilter.checkSaveAsButtonIsDisplayed();
await editTaskFilter.checkDeleteButtonIsDisplayed();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(true); await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(true); await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(true);
}); });
it('[C291795] New filter is added when clicking Save As button', async () => { it('[C291795] New filter is added when clicking Save As button', async () => {
await createNewCustomFilter('New'); await createNewCustomFilter('New');
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(true);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); await clickTaskFilter('custom-new');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); await editTaskFilter.clickDeleteButton();
}); });
it('[C291796] Two filters with same name can be created when clicking the Save As button', async () => { it('[C291796] Two filters with same name can be created when clicking the Save As button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
const editTaskFilterDialog = editTaskFilterCloudComponent.editTaskFilterDialog(); const editTaskFilterDialog = editTaskFilter.editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton(); await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); await editTaskFilter.setSortFilterDropDown('priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New'); await editTaskFilter.editTaskFilterDialog().setFilterName('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnSaveButton(); await editTaskFilter.editTaskFilterDialog().clickOnSaveButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); await editTaskFilter.clickDeleteButton();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); await clickTaskFilter('custom-new');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); await editTaskFilter.clickDeleteButton();
}); });
it('[C291797] A filter is overrided when clicking on save button', async () => { it('[C291797] A filter is overridden when clicking on save button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); const editTaskFilterDialog = await editTaskFilter.editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton(); await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); await editTaskFilter.setSortFilterDropDown('name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton(); await editTaskFilter.clickSaveButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); await editTaskFilter.clickDeleteButton();
}); });
it('[C291798] A filter is deleted when clicking on delete button', async () => { it('[C291798] A filter is deleted when clicking on delete button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); const editTaskFilterDialog = await editTaskFilter.editTaskFilterDialog();
await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.setFilterName('New');
await editTaskFilterDialog.clickOnSaveButton(); await editTaskFilterDialog.clickOnSaveButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await taskFilter.getActiveFilterName()).toBe('New');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await openFilter();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); await editTaskFilter.clickDeleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterNotDisplayed('New'); await taskFilter.checkTaskFilterNotDisplayed('New');
}); });
it('[C291800] Task filter should not be created when task filter dialog is closed', async () => { it('[C291800] Task filter should not be created when task filter dialog is closed', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('priority');
await editTaskFilterCloudComponent.setSortFilterDropDown('Priority');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('priority');
await editTaskFilter.clickSaveAsButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); const dialog = editTaskFilter.editTaskFilterDialog();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); await expect(await dialog.getFilterName()).toEqual('My Tasks');
await dialog.setFilterName('Cancel');
await expect(await dialog.getFilterName()).toEqual('Cancel');
await dialog.clickOnCancelButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel'); await taskFilter.checkTaskFilterNotDisplayed('Cancel');
await expect(await taskFilter.getActiveFilterName()).toEqual('My Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('Cancel'); await clickTaskFilter('completed-tasks');
await waitTillContentLoaded();
await clickTaskFilter('my-tasks');
await waitTillContentLoaded();
await openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton(); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterNotDisplayed('Cancel'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate');
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toEqual('My Tasks'); await openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
}); });
it('[C291801] Save button of task filter dialog should be disabled when task name is empty', async () => { it('[C291801] Save button of task filter dialog should be disabled when task name is empty', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); const dialog = editTaskFilter.editTaskFilterDialog();
const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent(); await expect(await dialog.getFilterName()).toEqual('My Tasks');
await tasksCloud.editTaskFilterDialog().clearFilterName(); await dialog.clearFilterName();
await expect(await dialog.getFilterName()).toEqual('');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual(''); await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(false); await dialog.clickOnCancelButton();
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', async () => { it('[C291799] Task filter dialog is displayed when clicking on Save As button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await tasksCloud.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await tasksCloud.setSortFilterDropDown('Id'); await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); await editTaskFilter.clickSaveAsButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(true); const dialog = editTaskFilter.editTaskFilterDialog();
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getTitle()).toEqual('Save filter as'); await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(true);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton(); await expect(await dialog.getTitle()).toEqual('Save filter as');
await expect(await dialog.getFilterName()).toEqual('My Tasks');
await dialog.clickOnCancelButton();
}); });
async function createNewCustomFilter(name: string): Promise<void> { async function createNewCustomFilter(name: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); await editTaskFilter.openFilter();
await editTaskFilterCloudComponent.openFilter(); await editTaskFilter.setSortFilterDropDown('id');
await editTaskFilterCloudComponent.setSortFilterDropDown('Id');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); await editTaskFilter.clickSaveAsButton();
const editTaskFilterDialog = tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); const dialog = editTaskFilter.editTaskFilterDialog();
await editTaskFilterDialog.setFilterName(name); await dialog.setFilterName(name);
await editTaskFilterDialog.clickOnSaveButton(); await dialog.clickOnSaveButton();
} }
}); });

View File

@@ -30,7 +30,11 @@ describe('Form Field Component - Dropdown Widget', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const notificationHistoryPage = new NotificationHistoryPage(); const notificationHistoryPage = new NotificationHistoryPage();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
@@ -84,11 +88,11 @@ describe('Form Field Component - Dropdown Widget', () => {
}); });
it('[C290069] Should be able to read rest service dropdown options, save and complete the task form', async () => { it('[C290069] Should be able to read rest service dropdown options, save and complete the task form', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name); await taskList.checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name); await taskList.selectRow(task.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -106,16 +110,16 @@ describe('Form Field Component - Dropdown Widget', () => {
await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(task.entry.name); await taskList.checkContentIsNotDisplayedByName(task.entry.name);
await notificationHistoryPage.checkNotifyContains('Task has been saved successfully'); await notificationHistoryPage.checkNotifyContains('Task has been saved successfully');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name); await taskList.checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name); await taskList.selectRow(task.entry.name);
await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');

View File

@@ -38,11 +38,18 @@ describe('Task cloud visibility', async () => {
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage(); const startTask = new StartTasksCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const startProcessPage = new StartProcessCloudPage(); const startProcessPage = new StartProcessCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const widget = new ProcessCloudWidgetPage(); const widget = new ProcessCloudWidgetPage();
@@ -83,8 +90,8 @@ describe('Task cloud visibility', async () => {
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.requirednumbervisibility.name); await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.requirednumbervisibility.name);
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1');
await taskFormCloudComponent.formFields().checkWidgetIsHidden('Number2'); await taskFormCloudComponent.formFields().checkWidgetIsHidden('Number2');
@@ -108,11 +115,11 @@ describe('Task cloud visibility', async () => {
await startProcessPage.checkStartProcessButtonIsEnabled(); await startProcessPage.checkStartProcessButtonIsEnabled();
await startProcessPage.clickStartProcessButton(); await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName }); await editProcessFilter.setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName); await processList.selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('number_visibility_task'); await taskList.selectRow('number_visibility_task');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1');
@@ -140,11 +147,11 @@ describe('Task cloud visibility', async () => {
await browser.sleep(400); await browser.sleep(400);
await startProcessPage.clickStartProcessButton(); await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName }); await editProcessFilter.setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName); await processList.selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('boolean_visibility_task'); await taskList.selectRow('boolean_visibility_task');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
await browser.sleep(400); await browser.sleep(400);
@@ -169,8 +176,8 @@ describe('Task cloud visibility', async () => {
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.booleanvisibility.name); await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.booleanvisibility.name);
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Checkbox2'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Checkbox2');
await taskFormCloudComponent.formFields().checkWidgetIsHidden('Checkbox3'); await taskFormCloudComponent.formFields().checkWidgetIsHidden('Checkbox3');

View File

@@ -52,7 +52,6 @@ export class TasksCloudDemoPage {
togglePage = new TogglePage(); togglePage = new TogglePage();
editTaskFilterCloud = new EditTaskFilterCloudComponentPage(); editTaskFilterCloud = new EditTaskFilterCloudComponentPage();
taskFilterCloudComponent = new TaskFiltersCloudComponentPage(); taskFilterCloudComponent = new TaskFiltersCloudComponentPage();
async disableDisplayTaskDetails(): Promise<void> { async disableDisplayTaskDetails(): Promise<void> {
@@ -83,10 +82,6 @@ export class TasksCloudDemoPage {
return new TaskListCloudComponentPage(); return new TaskListCloudComponentPage();
} }
editTaskFilterCloudComponent(): EditTaskFilterCloudComponentPage {
return this.editTaskFilterCloud;
}
async openNewTaskForm(): Promise<void> { async openNewTaskForm(): Promise<void> {
await BrowserActions.click(this.createButton); await BrowserActions.click(this.createButton);
await BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]'); await BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]');

View File

@@ -15,7 +15,21 @@
* limitations under the License. * limitations under the License.
*/ */
import { ApiService, AppListCloudPage, BrowserActions, GroupIdentityService, IdentityService, LocalStorageUtil, LoginPage, ProcessDefinitionsService, ProcessInstancesService, QueryService, StringUtil, TasksService } from '@alfresco/adf-testing'; import {
ApiService,
AppListCloudPage,
BrowserActions,
FilterProps,
GroupIdentityService,
IdentityService,
LocalStorageUtil,
LoginPage,
ProcessDefinitionsService,
ProcessInstancesService,
QueryService,
StringUtil,
TasksService
} from '@alfresco/adf-testing';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page';
import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page';
@@ -25,12 +39,30 @@ import { ProcessListCloudConfiguration } from './config/process-list-cloud.confi
describe('Process list cloud', () => { describe('Process list cloud', () => {
// en-US values for the process status
const PROCESS_STATUS = {
ALL: 'All',
RUNNING: 'Running',
SUSPENDED: 'Suspended',
COMPLETED: 'Completed'
};
// en-US values for the sort direction
const SORT_DIRECTION = {
ASC: 'Ascending',
DESC: 'Descending'
};
describe('Process List', () => { describe('Process List', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const apiService = new ApiService(); const apiService = new ApiService();
@@ -111,152 +143,160 @@ describe('Process list cloud', () => {
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
}); });
function setFilter(props: FilterProps): Promise<void> {
return editProcessFilter.setFilter(props);
}
async function waitTillContentLoaded() {
await processList.getDataTable().waitTillContentLoaded();
}
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => { it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Name', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Name', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Name')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Name')).toBe(true);
}); });
it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => { it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Id', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Id', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Id')).toBe(true);
}); });
it('[C305054] Should display processes ordered by status when Status is selected from sort dropdown', async () => { it('[C305054] Should display processes ordered by status when Status is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Status', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Status', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Status')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Status')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Status')).toBe(true);
}); });
it('[C305054] Should display processes ordered by started by when Started By is selected from sort dropdown', async () => { it('[C305054] Should display processes ordered by started by when Started By is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Started by', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Started by', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Started by')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Started by')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Started by')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Started by')).toBe(true);
}); });
it('[C305054] Should display processes ordered by processdefinitionid date when ProcessDefinitionId is selected from sort dropdown', async () => { it('[C305054] Should display processes ordered by processdefinitionid date when ProcessDefinitionId is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionId', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionId', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Id')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Process Definition Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Process Definition Id')).toBe(true);
}); });
it('[C305054] Should display processes ordered by processdefinitionkey date when ProcessDefinitionKey is selected from sort dropdown', async () => { it('[C305054] Should display processes ordered by processdefinitionkey date when ProcessDefinitionKey is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionKey', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionKey', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Key')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Process Definition Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.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 () => { it('[C305054] Should display processes ordered by last modified date when Last Modified is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Last Modified', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Last Modified', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Last Modified')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Last Modified')).toBe(true);
}); });
it('[C305054] Should display processes ordered by business key date when BusinessKey is selected from sort dropdown', async () => { it('[C305054] Should display processes ordered by business key date when BusinessKey is selected from sort dropdown', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Business Key', order: 'ASC' }); await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Business Key', order: SORT_DIRECTION.ASC });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Business Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); await setFilter({ order: SORT_DIRECTION.DESC});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true); await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Business Key')).toBe(true);
}); });
it('[C297697] The value of the filter should be preserved when saving it', async () => { it('[C297697] The value of the filter should be preserved when saving it', async () => {
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(completedProcess.entry.id); await editProcessFilter.setProcessInstanceId(completedProcess.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id); await processList.checkContentIsDisplayedById(completedProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1); await expect(await processList.getDataTable().numberOfRows()).toBe(1);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(completedProcess.entry.id); await expect(await editProcessFilter.getProcessInstanceId()).toEqual(completedProcess.entry.id);
}); });
it('[C297646] Should display the filter dropdown fine , after switching between saved filters', async () => { it('[C297646] Should display the filter dropdown fine , after switching between saved filters', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
noOfApps = await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions(); noOfApps = await editProcessFilter.getNumberOfAppNameOptions();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); await editProcessFilter.setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(runningProcessInstance.entry.id); await editProcessFilter.setProcessInstanceId(runningProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id); await processList.checkContentIsDisplayedById(runningProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps); await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SavedFilter'); await editProcessFilter.editProcessFilterDialog().setFilterName('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SavedFilter'); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id); await expect(await editProcessFilter.getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); await editProcessFilter.setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(switchProcessInstance.entry.id); await editProcessFilter.setProcessInstanceId(switchProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id); await processList.checkContentIsDisplayedById(switchProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await editProcessFilter.clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SwitchFilter'); await editProcessFilter.editProcessFilterDialog().setFilterName('SwitchFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SwitchFilter'); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SwitchFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(switchProcessInstance.entry.id); await expect(await editProcessFilter.getProcessInstanceId()).toEqual(switchProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps); await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs(); await BrowserActions.closeMenuAndDialogs();
}); });

View File

@@ -40,10 +40,22 @@ import moment = require('moment');
describe('Process filters cloud', () => { describe('Process filters cloud', () => {
// en-US values for the process status
const PROCESS_STATUS = {
ALL: 'All',
RUNNING: 'Running',
SUSPENDED: 'Suspended',
COMPLETED: 'Completed'
};
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const processListPage = new ProcessListPage(); const processListPage = new ProcessListPage();
@@ -148,193 +160,193 @@ describe('Process filters cloud', () => {
}); });
it('[C306887] Should be able to filter by appName', async () => { it('[C306887] Should be able to filter by appName', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); await editProcessFilter.setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); await processList.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 () => { it('[C306889] Should be able to see "No process found" when using an app with no processes in the appName field', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown('subprocessapp'); await editProcessFilter.setAppNameDropDown('subprocessapp');
await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`);
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found'); await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
}); });
it('[C306890] Should be able to filter by initiator', async () => { it('[C306890] Should be able to filter by initiator', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name);
}); });
it('[C311315] Should be able to filter by process definition id', async () => { it('[C311315] Should be able to filter by process definition id', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', processDefinition.entry.id); await editProcessFilter.setProperty('processDefinitionId', processDefinition.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', anotherProcessDefinition.entry.id); await editProcessFilter.setProperty('processDefinitionId', anotherProcessDefinition.entry.id);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311316] Should be able to filter by process definition key', async () => { it('[C311316] Should be able to filter by process definition key', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', processDefinition.entry.key); await editProcessFilter.setProperty('processDefinitionKey', processDefinition.entry.key);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', anotherProcessDefinition.entry.key); await editProcessFilter.setProperty('processDefinitionKey', anotherProcessDefinition.entry.key);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311317] Should be able to filter by process instance id', async () => { it('[C311317] Should be able to filter by process instance id', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', runningProcessInstance.entry.id); await editProcessFilter.setProperty('processInstanceId', runningProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); await expect(await processList.getDataTable().getNumberOfRows()).toBe(1);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', anotherProcessInstance.entry.id); await editProcessFilter.setProperty('processInstanceId', anotherProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); await expect(await processList.getDataTable().getNumberOfRows()).toBe(1);
}); });
it('[C311321] Should be able to filter by process name', async () => { it('[C311321] Should be able to filter by process name', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C306892] Should be able to filter by process status - Running', async () => { it('[C306892] Should be able to filter by process status - Running', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); await editProcessFilter.setProcessName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); await editProcessFilter.setProcessName(completedProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name); await processList.checkContentIsNotDisplayedByName(completedProcess.entry.name);
}); });
it('[C306892] Should be able to filter by process status - Completed', async () => { it('[C306892] Should be able to filter by process status - Completed', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('COMPLETED'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.COMPLETED);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); await editProcessFilter.setProcessName(completedProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name); await processList.checkContentIsDisplayedByName(completedProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); await editProcessFilter.setProcessName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
}); });
it('[C306892] Should be able to filter by process status - Suspended', async () => { it('[C306892] Should be able to filter by process status - Suspended', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.SUSPENDED);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); await editProcessFilter.setProcessName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); await editProcessFilter.setProcessName(completedProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name); await processList.checkContentIsNotDisplayedByName(completedProcess.entry.name);
}); });
it('[C306892] Should be able to filter by process status - All', async () => { it('[C306892] Should be able to filter by process status - All', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('ALL'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.ALL);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); await editProcessFilter.setProcessName(suspendProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); await editProcessFilter.setProcessName(completedProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name); await processList.checkContentIsDisplayedByName(completedProcess.entry.name);
}); });
it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = currentDate', async () => { it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = currentDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', currentDate); await editProcessFilter.setProperty('lastModifiedFrom', currentDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = beforeDate', async () => { it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = beforeDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', beforeDate); await editProcessFilter.setProperty('lastModifiedFrom', beforeDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311318] Should be able to filter by lastModifiedFrom - does not display record when date = afterDate', async () => { it('[C311318] Should be able to filter by lastModifiedFrom - does not display record when date = afterDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate); await editProcessFilter.setProperty('lastModifiedFrom', afterDate);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = currentDate', async () => { it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = currentDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', currentDate); await editProcessFilter.setProperty('lastModifiedTo', currentDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311319] Should be able to filter by lastModifiedTo - does not display record when date = beforeDate', async () => { it('[C311319] Should be able to filter by lastModifiedTo - does not display record when date = beforeDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', beforeDate); await editProcessFilter.setProperty('lastModifiedTo', beforeDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = afterDate', async () => { it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = afterDate', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate); await editProcessFilter.setProperty('lastModifiedTo', afterDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
}); });
it('[C311319] Should not display any processes when the lastModifiedFrom and lastModifiedTo are set to a future date', async () => { it('[C311319] Should not display any processes when the lastModifiedFrom and lastModifiedTo are set to a future date', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate); await editProcessFilter.setProperty('lastModifiedFrom', afterDate);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate); await editProcessFilter.setProperty('lastModifiedTo', afterDate);
await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found'); await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found');
}); });
}); });

View File

@@ -40,12 +40,26 @@ import {
} from '@alfresco/adf-process-services-cloud'; } from '@alfresco/adf-process-services-cloud';
describe('Process filters cloud', () => { describe('Process filters cloud', () => {
// en-US values for the process status
const PROCESS_STATUS = {
ALL: 'All',
RUNNING: 'Running',
SUSPENDED: 'Suspended',
COMPLETED: 'Completed'
};
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
@@ -82,26 +96,26 @@ describe('Process filters cloud', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await taskList.checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
}); });
it('[C290040] Should be able to open the Task Details page by clicking on the process name', async () => { it('[C290040] Should be able to open the Task Details page by clicking on the process name', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(simpleApp); await editProcessFilter.setAppNameDropDown(simpleApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', processInstance.id); await editProcessFilter.setProperty('processInstanceId', processInstance.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Id', processInstance.id); await processList.getDataTable().selectRow('Id', processInstance.id);
await browser.actions().sendKeys(protractor.Key.ENTER).perform(); await browser.actions().sendKeys(protractor.Key.ENTER).perform();
await processDetailsCloudDemoPage.checkTaskIsDisplayed(taskName); await processDetailsCloudDemoPage.checkTaskIsDisplayed(taskName);
await browser.navigate().back(); await browser.navigate().back();
await tasksCloudDemoPage.taskFilterCloudComponent.clickOnTaskFilters(); await taskFilter.clickOnTaskFilters();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned[0].entry.name); await taskList.checkContentIsDisplayedByName(taskAssigned[0].entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskAssigned[0].entry.name); await taskList.selectRow(taskAssigned[0].entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskFormCloudComponent.getFormTitle()).toContain(taskName); await expect(await taskFormCloudComponent.getFormTitle()).toContain(taskName);
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();

View File

@@ -36,8 +36,15 @@ describe('Process Header cloud component', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const processList = processCloudDemoPage.processListCloudComponent();
const editProcessFilterConfiguration = new EditProcessFilterConfiguration(); const editProcessFilterConfiguration = new EditProcessFilterConfiguration();
const editProcessFilterConfigFile = editProcessFilterConfiguration.getConfiguration(); const editProcessFilterConfigFile = editProcessFilterConfiguration.getConfiguration();
@@ -97,17 +104,17 @@ describe('Process Header cloud component', () => {
it('[C305010] Should display process details for running process', async () => { it('[C305010] Should display process details for running process', async () => {
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await taskList.checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: runningProcess.entry.name }); await editProcessFilter.setFilter({ processName: runningProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name); await processList.checkContentIsDisplayedByName(runningProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().selectRow(runningProcess.entry.name); await processList.selectRow(runningProcess.entry.name);
await expect(await processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id); await expect(await processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id);
await expect(await processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name); await expect(await processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name);
await expect(await processHeaderCloudPage.getStatus()).toEqual('RUNNING'); await expect(await processHeaderCloudPage.getStatus()).toEqual('RUNNING');
@@ -120,18 +127,18 @@ describe('Process Header cloud component', () => {
it('[C305008] Should display process details for completed process', async () => { it('[C305008] Should display process details for completed process', async () => {
await appListCloudComponent.goToApp(subProcessApp); await appListCloudComponent.goToApp(subProcessApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await taskList.checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); await processFilter.clickCompletedProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.COMPLETED); await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.COMPLETED);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` }); await editProcessFilter.setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name); await processList.checkContentIsDisplayedByName(childCompleteProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); await processList.checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(childCompleteProcess.entry.id); await processList.selectRowById(childCompleteProcess.entry.id);
await expect(await processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id); await expect(await processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id);
await expect(await processHeaderCloudPage.getName()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_NAME); await expect(await processHeaderCloudPage.getName()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_NAME);

View File

@@ -40,7 +40,11 @@ describe('Process list cloud', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const apiService = new ApiService(); const apiService = new ApiService();
@@ -100,23 +104,23 @@ describe('Process list cloud', () => {
}); });
it('[C315236] Should be able to see and execute custom action menu', async () => { it('[C315236] Should be able to see and execute custom action menu', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(editProcess.entry.name); await editProcessFilter.setProcessName(editProcess.entry.name);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); await processList.checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(editProcess.entry.id); await processList.checkContentIsDisplayedById(editProcess.entry.id);
await processCloudDemoPage.processListCloudComponent().clickOptionsButton(editProcess.entry.id); await processList.clickOptionsButton(editProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3); await expect(await processList.getNumberOfOptions()).toBe(3);
await processCloudDemoPage.processListCloudComponent().clickOnCustomActionMenu('edit'); await processList.clickOnCustomActionMenu('edit');
await processCloudDemoPage.checkActionExecuted(editProcess.entry.id, 'edit'); await processCloudDemoPage.checkActionExecuted(editProcess.entry.id, 'edit');
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(deleteProcess.entry.name); await editProcessFilter.setProcessName(deleteProcess.entry.name);
await browser.sleep(1000); await browser.sleep(1000);
await processCloudDemoPage.processListCloudComponent().rightClickOnRow(deleteProcess.entry.id); await processList.rightClickOnRow(deleteProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3); await expect(await processList.getNumberOfOptions()).toBe(3);
await processCloudDemoPage.processListCloudComponent().clickContextMenuActionNamed('delete'); await processList.clickContextMenuActionNamed('delete');
await processCloudDemoPage.checkActionExecuted(deleteProcess.entry.id, 'delete'); await processCloudDemoPage.checkActionExecuted(deleteProcess.entry.id, 'delete');
}); });
}); });

View File

@@ -33,7 +33,12 @@ describe('Process list cloud', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage();
@@ -81,9 +86,9 @@ describe('Process list cloud', () => {
await expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions'); await expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.RUNNING);
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayProcessDetails(); await tasksCloudDemoPage.disableDisplayProcessDetails();
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
@@ -93,87 +98,87 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('None'); await tasksCloudDemoPage.selectSelectionMode('None');
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); await processList.selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkNoRowIsSelected(); await processList.getDataTable().checkNoRowIsSelected();
}); });
it('[C297468] Should be able to select only one process when settings are set to Single', async () => { it('[C297468] Should be able to select only one process when settings are set to Single', async () => {
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Single'); await tasksCloudDemoPage.selectSelectionMode('Single');
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); await processList.selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); await processList.checkRowIsSelectedById(processInstances[0]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(1);
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[1]); await processList.selectRowById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]); await processList.checkRowIsSelectedById(processInstances[1]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(1);
}); });
it('[C297470] Should be able to select multiple processes using keyboard', async () => { it('[C297470] Should be able to select multiple processes using keyboard', async () => {
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.selectSelectionMode('Multiple'); await tasksCloudDemoPage.selectSelectionMode('Multiple');
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); await processList.selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); await processList.checkRowIsSelectedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().selectRowWithKeyboard(processInstances[1]); await processList.selectRowWithKeyboard(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); await processList.checkRowIsSelectedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]); await processList.checkRowIsSelectedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotSelectedById(processInstances[2]); await processList.checkRowIsNotSelectedById(processInstances[2]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(2); await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(2);
}); });
it('[C297465] Should be able to select multiple processes using checkboxes', async () => { it('[C297465] Should be able to select multiple processes using checkboxes', async () => {
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]); await processList.checkCheckboxById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); await processList.checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); await processList.checkCheckboxById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); await processList.checkRowIsCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]); await processList.checkRowIsNotCheckedById(processInstances[2]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); await processList.checkCheckboxById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]); await processList.checkRowIsNotCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); await processList.checkRowIsCheckedById(processInstances[0]);
}); });
it('[C299125] Should be possible to select all the rows when multiselect is true', async () => { it('[C299125] Should be possible to select all the rows when multiselect is true', async () => {
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await browser.sleep(1000); await browser.sleep(1000);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed(); await processList.getDataTable().checkAllRowsButtonIsDisplayed();
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRows(); await processList.getDataTable().checkAllRows();
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); await processList.checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); await processList.checkRowIsCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[2]); await processList.checkRowIsCheckedById(processInstances[2]);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed(); await processList.getDataTable().checkAllRowsButtonIsDisplayed();
await processCloudDemoPage.processListCloudComponent().getDataTable().uncheckAllRows(); await processList.getDataTable().uncheckAllRows();
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[0]); await processList.checkRowIsNotCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]); await processList.checkRowIsNotCheckedById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]); await processList.checkRowIsNotCheckedById(processInstances[2]);
}); });
it('[C297467] Should be able to see selected processes', async () => { it('[C297467] Should be able to see selected processes', async () => {
@@ -181,16 +186,16 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.enableTestingMode(); await tasksCloudDemoPage.enableTestingMode();
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); await processFilter.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]); await processList.checkCheckboxById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); await processList.checkRowIsCheckedById(processInstances[0]);
await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[0]); await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); await processList.checkCheckboxById(processInstances[1]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); await processList.checkRowIsCheckedById(processInstances[1]);
await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[1]); await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[1]);
}); });
}); });

View File

@@ -43,8 +43,15 @@ describe('Process Task - Attach content file', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const processCloudWidget = new ProcessCloudWidgetPage(); const processCloudWidget = new ProcessCloudWidgetPage();
const contentNodeSelectorDialog = new ContentNodeSelectorDialogPage(); const contentNodeSelectorDialog = new ContentNodeSelectorDialogPage();
@@ -115,16 +122,16 @@ describe('Process Task - Attach content file', () => {
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process'); await editProcessFilter.setProcessName('upload process');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id); await processList.checkContentIsDisplayedById(processInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstance.entry.id); await processList.selectRowById(processInstance.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await taskList.checkTaskListIsLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); await taskList.selectRow(taskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible(uploadWidgetId); await taskFormCloudComponent.formFields().checkWidgetIsVisible(uploadWidgetId);
@@ -141,22 +148,22 @@ describe('Process Task - Attach content file', () => {
await viewAttachedFile(contentUploadFileWidget, pdfFileTwo.name); await viewAttachedFile(contentUploadFileWidget, pdfFileTwo.name);
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(taskName); await taskList.checkContentIsNotDisplayedByName(taskName);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); await taskList.checkContentIsDisplayedByName(taskName);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process'); await editProcessFilter.setProcessName('upload process');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.COMPLETED); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.COMPLETED);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id); await processList.checkContentIsDisplayedById(processInstance.entry.id);
}); });
async function viewAttachedFile(contentUploadWidget, fileName: string): Promise<void> { async function viewAttachedFile(contentUploadWidget, fileName: string): Promise<void> {

View File

@@ -26,7 +26,12 @@ describe('Start Process', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const processList = processCloudDemoPage.processListCloudComponent();
const startProcessPage = new StartProcessCloudPage(); const startProcessPage = new StartProcessCloudPage();
const apiService = new ApiService(); const apiService = new ApiService();
@@ -103,12 +108,12 @@ describe('Start Process', () => {
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
await browser.sleep(400); await browser.sleep(400);
await startProcessPage.clickStartProcessButton(); await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(processName); await editProcessFilter.setProcessName(processName);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName); await processList.checkContentIsDisplayedByName(processName);
}); });
}); });

View File

@@ -52,14 +52,23 @@ describe('Start Task Form', () => {
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage(); const startTask = new StartTasksCloudPage();
const contentNodeSelectorDialogPage = new ContentNodeSelectorDialogPage(); const contentNodeSelectorDialogPage = new ContentNodeSelectorDialogPage();
const breadCrumbDropdownPage = new BreadcrumbDropdownPage(); const breadCrumbDropdownPage = new BreadcrumbDropdownPage();
const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage();
const widget = new ProcessCloudWidgetPage(); const widget = new ProcessCloudWidgetPage();
const startProcessPage = new StartProcessCloudPage(); const startProcessPage = new StartProcessCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const processHeaderCloud = new ProcessHeaderCloudPage(); const processHeaderCloud = new ProcessHeaderCloudPage();
@@ -166,7 +175,7 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
}); });
it('[C307976] Should be able to start and save a task with a form', async () => { it('[C307976] Should be able to start and save a task with a form', async () => {
@@ -175,8 +184,8 @@ describe('Start Task Form', () => {
await startTask.addName(standaloneTaskName); await startTask.addName(standaloneTaskName);
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.forms.starteventform); await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.forms.starteventform);
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); await taskList.checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9');
@@ -191,11 +200,11 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); await taskList.checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample'); await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample');
await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26'); await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
@@ -250,17 +259,17 @@ describe('Start Task Form', () => {
await widget.numberWidget().setFieldValue('Number07vyx9', 100); await widget.numberWidget().setFieldValue('Number07vyx9', 100);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
await startProcessPage.clickStartProcessButton(); await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess); await editProcessFilter.setProcessName(startEventFormProcess);
await browser.sleep(1000); await browser.sleep(1000);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(startEventFormProcess); await processList.checkContentIsDisplayedByName(startEventFormProcess);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', startEventFormProcess); await processList.getDataTable().selectRow('Name', startEventFormProcess);
await browser.actions().sendKeys(protractor.Key.ENTER).perform(); await browser.actions().sendKeys(protractor.Key.ENTER).perform();
await processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask');
@@ -270,19 +279,19 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId(); const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); await taskList.checkContentIsDisplayedById(taskId);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); await processFilter.clickCompletedProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await editProcessFilter.openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess); await editProcessFilter.setProcessName(startEventFormProcess);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processId); await processList.checkContentIsDisplayedById(processId);
}); });
}); });
@@ -292,15 +301,15 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); await processFilter.clickRunningProcessesFilter();
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); await processList.checkProcessListIsLoaded();
}); });
it('[C310358] Should be able to attach a file to a form from local', async () => { it('[C310358] Should be able to attach a file to a form from local', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadLocalFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadLocalFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadLocalFileProcess.entry.name); await processList.selectRow(uploadLocalFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
@@ -314,9 +323,9 @@ describe('Start Task Form', () => {
}); });
it('[C311285] Should be able to attach a file to a form from acs repository', async () => { it('[C311285] Should be able to attach a file to a form from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -331,9 +340,9 @@ describe('Start Task Form', () => {
}); });
it('[C311287] Content node selector default location when attaching a file to a form from acs repository', async () => { it('[C311287] Content node selector default location when attaching a file to a form from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadDefaultFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadDefaultFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadDefaultFileProcess.entry.name); await processList.selectRow(uploadDefaultFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
@@ -356,9 +365,9 @@ describe('Start Task Form', () => {
}); });
it('[C311288] No file should be attached when canceling the content node selector', async () => { it('[C311288] No file should be attached when canceling the content node selector', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: cancelUploadFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: cancelUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(cancelUploadFileProcess.entry.name); await processList.selectRow(cancelUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
@@ -379,9 +388,9 @@ describe('Start Task Form', () => {
}); });
it('[C311289] Should be able to attach single file', async () => { it('[C311289] Should be able to attach single file', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -394,9 +403,9 @@ describe('Start Task Form', () => {
}); });
it('[C311292] Attached file is not displayed anymore after release if the form is not saved', async () => { it('[C311292] Attached file is not displayed anymore after release if the form is not saved', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -414,9 +423,9 @@ describe('Start Task Form', () => {
}); });
it('[C311293] Attached file is displayed after release if the form was saved', async () => { it('[C311293] Attached file is displayed after release if the form was saved', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -435,9 +444,9 @@ describe('Start Task Form', () => {
}); });
it('[C311295] Attached file is displayed after complete', async () => { it('[C311295] Attached file is displayed after complete', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: completeUploadFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: completeUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(completeUploadFileProcess.entry.name); await processList.selectRow(completeUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
@@ -452,22 +461,22 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId(); const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); await taskList.checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); await taskList.selectRowByTaskId(taskId);
await contentFileWidget.checkFileIsAttached(testFileModel.name); await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile'); await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
}); });
it('[C315292] Should be able to download attached file from acs repository', async () => { it('[C315292] Should be able to download attached file from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: downloadContentFileProcess.entry.name }); await editProcessFilter.setFilter({ processName: downloadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await processList.getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(downloadContentFileProcess.entry.name); await processList.selectRow(downloadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.clickClaimButton();
@@ -489,14 +498,14 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId(); const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); await taskList.checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); await taskList.selectRowByTaskId(taskId);
await contentFileWidget.checkFileIsAttached(testFileModel.name); await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.downloadFile(testFileModel.name); await contentFileWidget.downloadFile(testFileModel.name);
await FileBrowserUtil.isFileDownloaded(testFileModel.name); await FileBrowserUtil.isFileDownloaded(testFileModel.name);

View File

@@ -39,7 +39,12 @@ describe('Start Task', () => {
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage(); const startTask = new StartTasksCloudPage();
const peopleCloudComponent = new PeopleCloudComponentPage(); const peopleCloudComponent = new PeopleCloudComponentPage();
@@ -95,7 +100,7 @@ describe('Start Task', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(simpleApp); await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
}); });
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', async () => { it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', async () => {
@@ -104,14 +109,14 @@ describe('Start Task', () => {
await peopleCloudComponent.clearAssigneeFromChip(testUser.username); await peopleCloudComponent.clearAssigneeFromChip(testUser.username);
await startTask.addName(unassignedTaskName); await startTask.addName(unassignedTaskName);
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); await editTaskFilter.setStatusFilterDropDown('Created');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); await taskList.checkContentIsDisplayedByName(unassignedTaskName);
const taskId = await tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName); const taskId = await taskList.getIdCellValue(unassignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName); await taskList.selectRow(unassignedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskHeaderCloudPage.getId()).toBe(taskId); await expect(await taskHeaderCloudPage.getId()).toBe(taskId);
await expect(await taskHeaderCloudPage.getAssignee()).toBe('No assignee'); await expect(await taskHeaderCloudPage.getAssignee()).toBe('No assignee');
@@ -124,11 +129,11 @@ describe('Start Task', () => {
await startTask.addName(unassignedTaskName); await startTask.addName(unassignedTaskName);
await startTask.checkStartButtonIsEnabled(); await startTask.checkStartButtonIsEnabled();
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); await editTaskFilter.setStatusFilterDropDown('Created');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); await taskList.checkContentIsDisplayedByName(unassignedTaskName);
}); });
it('[C290166] Should be possible to cancel a task', async () => { it('[C290166] Should be possible to cancel a task', async () => {
@@ -142,7 +147,7 @@ describe('Start Task', () => {
await startTask.addDueDate('12/12/2018'); await startTask.addDueDate('12/12/2018');
await startTask.checkStartButtonIsEnabled(); await startTask.checkStartButtonIsEnabled();
await startTask.clickCancelButton(); await startTask.clickCancelButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName); await taskList.checkContentIsNotDisplayedByName(standaloneTaskName);
}); });
it('[C290180] Should be able to create a new standalone task', async () => { it('[C290180] Should be able to create a new standalone task', async () => {
@@ -153,7 +158,7 @@ describe('Start Task', () => {
await startTask.addDueDate('12/12/2018'); await startTask.addDueDate('12/12/2018');
await startTask.addPriority('Normal'); await startTask.addPriority('Normal');
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); await taskList.checkContentIsDisplayedByName(standaloneTaskName);
}); });
it('[C290181] Should be displayed an error message if task name exceed 255 characters', async () => { it('[C290181] Should be displayed an error message if task name exceed 255 characters', async () => {
@@ -190,10 +195,10 @@ describe('Start Task', () => {
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
}); });
it('[C305050] Should be able to reassign the removed user when starting a new task', async () => { it('[C305050] Should be able to reassign the removed user when starting a new task', async () => {
@@ -207,15 +212,15 @@ describe('Start Task', () => {
await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`); await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`);
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName); await taskList.checkContentIsDisplayedByName(reassignTaskName);
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName); await taskList.selectRow(reassignTaskName);
await expect(await taskHeaderCloudPage.getAssignee()).toBe(apsUser.username); await expect(await taskHeaderCloudPage.getAssignee()).toBe(apsUser.username);
}); });

View File

@@ -38,7 +38,10 @@ describe('Start Task - Group Cloud Component', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const startTask = new StartTasksCloudPage(); const startTask = new StartTasksCloudPage();
const peopleCloudComponent = new PeopleCloudComponentPage(); const peopleCloudComponent = new PeopleCloudComponentPage();
const groupCloud = new GroupCloudComponentPage(); const groupCloud = new GroupCloudComponentPage();
@@ -111,8 +114,8 @@ describe('Start Task - Group Cloud Component', () => {
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName);
@@ -135,8 +138,8 @@ describe('Start Task - Group Cloud Component', () => {
await startTask.clickStartButton(); await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName);

View File

@@ -39,6 +39,8 @@ describe('Task filters cloud', () => {
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService(); const apiService = new ApiService();
const queryService = new QueryService(apiService); const queryService = new QueryService(apiService);
@@ -77,18 +79,18 @@ describe('Task filters cloud', () => {
const task = await tasksService.createStandaloneTask(newTask, simpleApp); const task = await tasksService.createStandaloneTask(newTask, simpleApp);
await tasksService.claimTask(task.entry.id, simpleApp); await tasksService.claimTask(task.entry.id, simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask); await taskList.checkContentIsNotDisplayedByName(newTask);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(newTask); await taskList.checkContentIsDisplayedByName(newTask);
}); });
it('[C289955] Should display task in Complete Tasks List when task is completed', async () => { it('[C289955] Should display task in Complete Tasks List when task is completed', async () => {
@@ -97,18 +99,18 @@ describe('Task filters cloud', () => {
await tasksService.completeTask(toBeCompletedTask.entry.id, simpleApp); await tasksService.completeTask(toBeCompletedTask.entry.id, simpleApp);
await queryService.getTaskByStatus(toBeCompletedTask.entry.name, simpleApp, 'COMPLETED'); await queryService.getTaskByStatus(toBeCompletedTask.entry.name, simpleApp, 'COMPLETED');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask); await taskList.checkContentIsNotDisplayedByName(completedTask);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask); await taskList.checkContentIsDisplayedByName(completedTask);
}); });
}); });
}); });

View File

@@ -37,6 +37,8 @@ describe('Task form cloud component', () => {
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const widget = new ProcessCloudWidgetPage(); const widget = new ProcessCloudWidgetPage();
@@ -174,8 +176,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[0].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[0].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -205,8 +207,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[1].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[1].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -233,9 +235,9 @@ describe('Task form cloud component', () => {
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar); await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar);
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[2].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[2].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[2].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[2].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -253,8 +255,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[4].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[4].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -292,8 +294,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[6].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[6].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -317,8 +319,8 @@ describe('Task form cloud component', () => {
await widget.tab().checkTabIsDisplayedByLabel(tab.tabMultipleConditions); await widget.tab().checkTabIsDisplayedByLabel(tab.tabMultipleConditions);
await taskFormCloudComponent.clickCompleteButton(); await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name); await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[3].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[3].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -326,22 +328,22 @@ describe('Task form cloud component', () => {
}); });
async function chooseFilterAndSelectTaskByName(filterName: string, taskName: string): Promise<void> { async function chooseFilterAndSelectTaskByName(filterName: string, taskName: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); await taskFilter.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); await taskList.checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); await taskList.selectRow(taskName);
} }
async function selectTaskByName(taskName: string): Promise<void> { async function selectTaskByName(taskName: string): Promise<void> {
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); await taskList.checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
} }
async function chooseFilter(filterName: string, filterTitle: string): Promise<void> { async function chooseFilter(filterName: string, filterTitle: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); await taskFilter.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(filterTitle); await expect(await taskFilter.getActiveFilterName()).toBe(filterTitle);
} }
}); });
}); });

View File

@@ -43,7 +43,12 @@ describe('Task form cloud component', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
const widget = new ProcessCloudWidgetPage(); const widget = new ProcessCloudWidgetPage();
@@ -142,16 +147,16 @@ describe('Task form cloud component', () => {
it('[C310366] Should refresh buttons and form after an action is complete', async () => { it('[C310366] Should refresh buttons and form after an action is complete', async () => {
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); await editTaskFilter.setStatusFilterDropDown('Created');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(formTaskId); await taskList.checkContentIsDisplayedById(formTaskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(formTaskId); await taskList.selectRowByTaskId(formTaskId);
await taskFormCloudComponent.checkFormIsReadOnly(); await taskFormCloudComponent.checkFormIsReadOnly();
await taskFormCloudComponent.checkClaimButtonIsDisplayed(); await taskFormCloudComponent.checkClaimButtonIsDisplayed();
@@ -230,11 +235,11 @@ describe('Task form cloud component', () => {
}); });
it('[C310142] Empty content is displayed when having a task without form', async () => { it('[C310142] Empty content is displayed when having a task without form', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); await taskList.selectRow(assigneeTask.entry.name);
await taskFormCloudComponent.checkFormIsNotDisplayed(); await taskFormCloudComponent.checkFormIsNotDisplayed();
await expect(await taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name); await expect(await taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name);
await taskFormCloudComponent.checkFormContentIsEmpty(); await taskFormCloudComponent.checkFormContentIsEmpty();
@@ -243,8 +248,8 @@ describe('Task form cloud component', () => {
}); });
it('[C310199] Should not be able to complete a task when required field is empty or invalid data is added to a field', async () => { it('[C310199] Should not be able to complete a task when required field is empty or invalid data is added to a field', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await selectTaskByName(formValidationsTask.entry.name); await selectTaskByName(formValidationsTask.entry.name);
await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkFormIsDisplayed();
@@ -279,86 +284,86 @@ describe('Task form cloud component', () => {
}); });
it('[C307093] Complete button is not displayed when the task is already completed', async () => { it('[C307093] Complete button is not displayed when the task is already completed', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); await taskFilter.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await taskList.checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); await taskList.selectRow(completedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
it('[C307095] Task can not be completed by owner user', async () => { it('[C307095] Task can not be completed by owner user', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); await editTaskFilter.setStatusFilterDropDown('Created');
await selectTaskByName(createdTask.entry.name); await selectTaskByName(createdTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
it('[C307110] Task list is displayed after clicking on Cancel button', async () => { it('[C307110] Task list is displayed after clicking on Cancel button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await selectTaskByName(assigneeTask.entry.name); await selectTaskByName(assigneeTask.entry.name);
await taskFormCloudComponent.clickCancelButton(); await taskFormCloudComponent.clickCancelButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name);
}); });
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => { it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await selectTaskByName(toBeCompletedTask.entry.name); await selectTaskByName(toBeCompletedTask.entry.name);
await completeTask(); await completeTask();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name); await taskList.checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); await taskFilter.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); await taskList.checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
it('[C307111] Task of a process can be completed by a user that is owner and assignee', async () => { it('[C307111] Task of a process can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); await taskFilter.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await selectTaskByName(completedTask.entry.name); await selectTaskByName(completedTask.entry.name);
await completeTask(); await completeTask();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name); await taskList.checkContentIsNotDisplayedByName(completedTask.entry.name);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); await taskFilter.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name); await taskList.checkContentIsDisplayedByName(completedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
}); });
}); });
async function openTaskByIdFromFilters(filterName: string, taskId: string): Promise<void> { async function openTaskByIdFromFilters(filterName: string, taskId: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); await taskFilter.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); await taskList.checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); await taskList.selectRowByTaskId(taskId);
} }
async function verifyDateInput(widgetId: string, input: string): Promise<void> { async function verifyDateInput(widgetId: string, input: string): Promise<void> {
@@ -367,8 +372,8 @@ describe('Task form cloud component', () => {
} }
async function selectTaskByName(taskName: string): Promise<void> { async function selectTaskByName(taskName: string): Promise<void> {
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); await taskList.checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
} }
@@ -381,11 +386,11 @@ describe('Task form cloud component', () => {
async function goToAppOpenDropdownTaskByNameFromFilters(filterName: string, taskName: string): Promise<void> { async function goToAppOpenDropdownTaskByNameFromFilters(filterName: string, taskName: string): Promise<void> {
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); await taskFilter.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); await taskList.checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await widget.dropdown().isWidgetVisible(dropdownFieldId); await widget.dropdown().isWidgetVisible(dropdownFieldId);
} }

View File

@@ -44,7 +44,12 @@ describe('Task Header cloud component', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const peopleCloudComponentPage = new PeopleCloudComponentPage(); const peopleCloudComponentPage = new PeopleCloudComponentPage();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
@@ -134,11 +139,11 @@ describe('Task Header cloud component', () => {
}); });
it('[C291943] Should display task details for assigned task', async () => { it('[C291943] Should display task details for assigned task', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName); await taskList.checkContentIsDisplayedByName(basicCreatedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName); await taskList.selectRow(basicCreatedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded(); await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -158,11 +163,11 @@ describe('Task Header cloud component', () => {
}); });
it('[C291944] Should display task details for completed task', async () => { it('[C291944] Should display task details for completed task', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await taskList.checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); await taskList.selectRow(completedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded(); await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -182,11 +187,11 @@ describe('Task Header cloud component', () => {
}); });
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => { it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); await taskFilter.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name); await taskList.checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name); await taskList.selectRow(subTask.entry.name);
await tasksCloudDemoPage.waitTillContentLoaded(); await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -207,12 +212,12 @@ describe('Task Header cloud component', () => {
}); });
it('[C309698] Should validate the Priority field', async () => { it('[C309698] Should validate the Priority field', async () => {
await tasksCloudDemoPage.editTaskFilterCloud.openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloud.setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloud.clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unclaimedTask.entry.name); await taskList.checkContentIsDisplayedByName(unclaimedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(unclaimedTask.entry.name); await taskList.selectRow(unclaimedTask.entry.name);
await tasksCloudDemoPage.waitTillContentLoaded(); await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -251,11 +256,11 @@ describe('Task Header cloud component', () => {
}); });
it('[C311280] Should pick up the default date format from the app configuration', async () => { it('[C311280] Should pick up the default date format from the app configuration', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); await taskFilter.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await taskList.checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); await taskList.selectRow(completedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded(); await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();

View File

@@ -29,7 +29,11 @@ describe('Process list cloud', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -86,23 +90,23 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.addInvisibleAction('invisibleaction'); await tasksCloudDemoPage.addInvisibleAction('invisibleaction');
await tasksCloudDemoPage.actionAdded('invisibleaction'); await tasksCloudDemoPage.actionAdded('invisibleaction');
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
}); });
it('[C315723] Should be able to see and execute custom action menu', async () => { it('[C315723] Should be able to see and execute custom action menu', async () => {
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); await taskList.checkTaskListIsLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(editTask.list.entries[0].entry.id); await taskList.checkContentIsDisplayedById(editTask.list.entries[0].entry.id);
await tasksCloudDemoPage.taskListCloudComponent().clickOptionsButton(editTask.list.entries[0].entry.id); await taskList.clickOptionsButton(editTask.list.entries[0].entry.id);
await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3); await expect(await taskList.getNumberOfOptions()).toBe(3);
await tasksCloudDemoPage.taskListCloudComponent().clickOnCustomActionMenu('edit'); await taskList.clickOnCustomActionMenu('edit');
await tasksCloudDemoPage.checkActionExecuted(editTask.list.entries[0].entry.id, 'edit'); await tasksCloudDemoPage.checkActionExecuted(editTask.list.entries[0].entry.id, 'edit');
await tasksCloudDemoPage.taskListCloudComponent().rightClickOnRow(deleteTask.list.entries[0].entry.id); await taskList.rightClickOnRow(deleteTask.list.entries[0].entry.id);
await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3); await expect(await taskList.getNumberOfOptions()).toBe(3);
await tasksCloudDemoPage.taskListCloudComponent().clickContextMenuActionNamed('delete'); await taskList.clickContextMenuActionNamed('delete');
await tasksCloudDemoPage.checkActionExecuted(deleteTask.list.entries[0].entry.id, 'delete'); await tasksCloudDemoPage.checkActionExecuted(deleteTask.list.entries[0].entry.id, 'delete');
}); });
}); });

View File

@@ -26,11 +26,19 @@ import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page';
import { TaskListCloudConfiguration } from './config/task-list-cloud.config'; import { TaskListCloudConfiguration } from './config/task-list-cloud.config';
describe('Edit task filters and task list properties', () => { describe('Edit task filters and task list properties', () => {
const SORT_ORDER = {
ASC: 'Ascending',
DESC: 'Descending'
};
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -126,98 +134,98 @@ describe('Edit task filters and task list properties', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
}); });
it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', async () => { it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); await editTaskFilter.setStatusFilterDropDown('Assigned');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); await editTaskFilter.setSortFilterDropDown('name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Name')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Name')).toBe(true);
}); });
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', async () => { it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); await editTaskFilter.setStatusFilterDropDown('Assigned');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Id'); await editTaskFilter.setSortFilterDropDown('id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Id')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Id')).toBe(true);
}); });
it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', async () => { it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); await editTaskFilter.setStatusFilterDropDown('Assigned');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessDefinitionId'); await editTaskFilter.setSortFilterDropDown('processDefinitionId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ProcessDefinitionId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ProcessDefinitionId')).toBe(true);
}); });
it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', async () => { it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); await editTaskFilter.setStatusFilterDropDown('Assigned');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessInstanceId'); await editTaskFilter.setSortFilterDropDown('processInstanceId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessInstanceId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ProcessInstanceId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ProcessInstanceId')).toBe(true);
}); });
it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', async () => { it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Assignee'); await editTaskFilter.setSortFilterDropDown('assignee');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Assignee')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Assignee')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Assignee')).toBe(true);
}); });
it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', async () => { it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ParentTaskId'); await editTaskFilter.setSortFilterDropDown('parentTaskId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ParentTaskId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ParentTaskId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ParentTaskId')).toBe(true);
}); });
it('[C290087] Should display tasks ordered by priority when Priority is selected from sort dropdown', async () => { it('[C290087] Should display tasks ordered by priority when Priority is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); await editTaskFilter.setSortFilterDropDown('priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Priority', 'PRIORITY')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Priority', 'PRIORITY')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority', 'PRIORITY')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Priority', 'PRIORITY')).toBe(true);
}); });
it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', async () => { it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Owner'); await editTaskFilter.setSortFilterDropDown('owner');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Owner')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Owner')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true); await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Owner')).toBe(true);
}); });
}); });
}); });

View File

@@ -36,7 +36,11 @@ describe('Edit task filters and task list properties', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -105,166 +109,164 @@ describe('Edit task filters and task list properties', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
}); });
it('[C292004] Filter by appName', async () => { it('[C292004] Filter by appName', async () => {
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp); await expect(await editTaskFilter.getAppNameDropDownValue()).toEqual(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name); await taskList.checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp); await editTaskFilter.setAppNameDropDown(candidateBaseApp);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp); await expect(await editTaskFilter.getAppNameDropDownValue()).toEqual(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name); await taskList.checkContentIsDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); await taskList.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', async () => { it('[C291906] Should be able to see only the task with specific taskId when typing it in the task Id field', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId(createdTask.entry.id); await editTaskFilter.setId(createdTask.entry.id);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual(createdTask.entry.id); await expect(await editTaskFilter.getId()).toEqual(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(createdTask.entry.id); await taskList.checkContentIsDisplayedById(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameId(createdTask.entry.id).then(async (list) => { await taskList.getRowsWithSameId(createdTask.entry.id).then(async (list) => {
await expect(list.length).toEqual(1); await expect(list.length).toEqual(1);
}); });
}); });
it('[C291907] Should be able to see No tasks found when typing an invalid task id', async () => { it('[C291907] Should be able to see No tasks found when typing an invalid task id', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId('invalidId'); await editTaskFilter.setId('invalidId');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual('invalidId'); await expect(await editTaskFilter.getId()).toEqual('invalidId');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297476] Filter by taskName', async () => { it('[C297476] Filter by taskName', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); await editTaskFilter.setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name); await expect(await editTaskFilter.getTaskName()).toEqual(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then(async (list) => { await taskList.getRowsWithSameName(createdTask.entry.name).then(async (list) => {
await expect(list.length).toEqual(1); 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', async () => { it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName('invalidName'); await editTaskFilter.setTaskName('invalidName');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual('invalidName'); await expect(await editTaskFilter.getTaskName()).toEqual('invalidName');
await expect(await taskList.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', async () => { it('[C297480] Should be able to see only tasks that are part of a specific process when processInstanceId is set', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id); await editTaskFilter.setProcessInstanceId(processInstance.entry.id);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await expect(await taskList.getDataTable().getNumberOfRows()).toBe(1);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); await taskList.checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
}); });
it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', async () => { it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId('invalidTaskId'); await editTaskFilter.setProcessInstanceId('invalidTaskId');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297478] Should be able to see only tasks that are assigned to a specific user when assignee is set', async () => { it('[C297478] Should be able to see only tasks that are assigned to a specific user when assignee is set', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee(testUser.username); await editTaskFilter.setAssignee(testUser.username);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name); await taskList.checkContentIsNotDisplayedByName(notAssigned.entry.name);
}); });
it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', async () => { it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('invalid'); await editTaskFilter.setAssignee('invalid');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297482] Should be able to see only tasks with specific priority when priority is set', async () => { it('[C297482] Should be able to see only tasks with specific priority when priority is set', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('Low'); await editTaskFilter.setPriority('Low');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name); await taskList.checkContentIsDisplayedByName(priorityTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297687] Should be able to see No tasks found when typing unused value for priority field', async () => { it('[C297687] Should be able to see No tasks found when typing unused value for priority field', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('Normal'); await editTaskFilter.setPriority('Normal');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297481] Should be able to see only tasks with specific parentTaskId when parentTaskId is set', async () => { it('[C297481] Should be able to see only tasks with specific parentTaskId when parentTaskId is set', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId); await editTaskFilter.setParentTaskId(subTask.entry.parentTaskId);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name); await taskList.checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297486] Filter by Owner', async () => { it('[C297486] Filter by Owner', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner(testUser.username); await editTaskFilter.setOwner(testUser.username);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name); await taskList.checkContentIsDisplayedByName(notAssigned.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid'); await editTaskFilter.setOwner('invalid');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297484] Task is displayed when typing into lastModifiedFrom field a date before the task CreatedDate', async () => { it('[C297484] Task is displayed when typing into lastModifiedFrom field a date before the task CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); await editTaskFilter.setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate); await editTaskFilter.setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', async () => { it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate); await editTaskFilter.setLastModifiedFrom(currentDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name); await editTaskFilter.setTaskName(simpleTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name); await taskList.checkContentIsNotDisplayedByName(simpleTask.entry.name);
}); });
it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task CreatedDate', async () => { it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); await editTaskFilter.setLastModifiedTo(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate); await editTaskFilter.setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', async () => { it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate); await editTaskFilter.setLastModifiedTo(currentDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name); await editTaskFilter.setTaskName(simpleTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name); await taskList.checkContentIsNotDisplayedByName(simpleTask.entry.name);
}); });
it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' + 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', async () => { 'and into lastModifiedTo a date before task due date', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); await editTaskFilter.setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate); await editTaskFilter.setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); await editTaskFilter.setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' + it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' +
'and into lastModifiedTo a date after', async () => { 'and into lastModifiedTo a date after', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); await editTaskFilter.setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); await editTaskFilter.setLastModifiedTo(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); await editTaskFilter.setTaskName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
}); });
it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' + it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' +
'and into lastModifiedTo a date after', async () => { 'and into lastModifiedTo a date after', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate); await editTaskFilter.setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); await editTaskFilter.setLastModifiedTo(afterDate);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
}); });
}); });
}); });

View File

@@ -38,6 +38,7 @@ describe('Task list cloud - selection', () => {
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -75,7 +76,7 @@ describe('Task list cloud - selection', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.clickSettingsButton();
await tasksCloudDemoPage.disableDisplayTaskDetails(); await tasksCloudDemoPage.disableDisplayTaskDetails();
await tasksCloudDemoPage.clickAppButton(); await tasksCloudDemoPage.clickAppButton();

View File

@@ -24,7 +24,7 @@ import {
LocalStorageUtil, LocalStorageUtil,
LoginPage, LoginPage,
ProcessDefinitionsService, ProcessDefinitionsService,
ProcessInstancesService, ProcessInstancesService, StatusType,
TaskFormCloudComponent, TaskFormCloudComponent,
TaskHeaderCloudPage TaskHeaderCloudPage
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
@@ -40,7 +40,11 @@ describe('Task claim/release', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent(); const taskFormCloudComponent = new TaskFormCloudComponent();
@@ -67,10 +71,10 @@ describe('Task claim/release', () => {
}); });
it('[C306874] Should be able to Claim/Release a process task which has a candidate user', async () => { it('[C306874] Should be able to Claim/Release a process task which has a candidate user', async () => {
await setTaskFilter('CREATED', processInstance.id); await setTaskFilter('Created', processInstance.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask); await taskList.checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.candidateUserTask); await taskList.selectRow(candidateApp.tasks.candidateUserTask);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -126,10 +130,10 @@ describe('Task claim/release', () => {
it('[C306875] should be able to Claim/Release a process task which has a candidate group', async () => { it('[C306875] should be able to Claim/Release a process task which has a candidate group', async () => {
await navigateToApp(browser.params.testConfig.users.hrUser); await navigateToApp(browser.params.testConfig.users.hrUser);
await setTaskFilter('CREATED', processInstance.id); await setTaskFilter('Created', processInstance.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask); await taskList.selectRow(candidateApp.tasks.uploadFileTask);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkClaimButtonIsDisplayed(); await taskFormCloudComponent.checkClaimButtonIsDisplayed();
@@ -154,10 +158,10 @@ describe('Task claim/release', () => {
await navigationBarPage.clickLogoutButton(); await navigationBarPage.clickLogoutButton();
await navigateToApp(candidate); await navigateToApp(candidate);
await setTaskFilter('CREATED', processInstance.id); await setTaskFilter('Created', processInstance.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask); await taskList.selectRow(candidateApp.tasks.uploadFileTask);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkClaimButtonIsDisplayed(); await taskFormCloudComponent.checkClaimButtonIsDisplayed();
@@ -183,7 +187,7 @@ describe('Task claim/release', () => {
}); });
async function navigateToApp(user) { async function navigateToApp(user: { username: string; password: string }) {
await loginSSOPage.login(user.username, user.password); await loginSSOPage.login(user.username, user.password);
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration)); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration));
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
@@ -191,15 +195,15 @@ describe('Task claim/release', () => {
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateApp.name); await appListCloudComponent.goToApp(candidateApp.name);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
} }
async function setTaskFilter(status, processInstanceId) { async function setTaskFilter(status: StatusType, processInstanceId: string) {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown(status); await editTaskFilter.setStatusFilterDropDown(status);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstanceId); await editTaskFilter.setProcessInstanceId(processInstanceId);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
} }
}); });

View File

@@ -27,7 +27,7 @@ import {
ApiService, ApiService,
IdentityService, IdentityService,
GroupIdentityService, GroupIdentityService,
AppListCloudPage AppListCloudPage, TaskListCloudComponentPage
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../core/pages/navigation-bar.page'; import { NavigationBarPage } from '../core/pages/navigation-bar.page';
import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page';
@@ -41,7 +41,10 @@ describe('Task filters cloud', () => {
const loginSSOPage = new LoginPage(); const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage(); const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskList = new TaskListCloudComponentPage();
const apiService = new ApiService(); const apiService = new ApiService();
const identityService = new IdentityService(apiService); const identityService = new IdentityService(apiService);
@@ -105,59 +108,60 @@ describe('Task filters cloud', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await taskList.getDataTable().waitForTableBody();
}); });
it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', async () => { it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); await editTaskFilter.setStatusFilterDropDown('Assigned');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); await taskList.checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); await taskList.checkContentIsNotDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); await taskList.checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); await taskList.checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', async () => { it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('COMPLETED'); await editTaskFilter.setStatusFilterDropDown('Completed');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await taskList.checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); await taskList.checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); await taskList.checkContentIsNotDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); await taskList.checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', async () => { it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName); await taskList.checkContentIsDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); await taskList.checkContentIsDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName); await taskList.checkContentIsDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); await taskList.checkContentIsDisplayedByName(completedTaskName);
}); });
it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', async () => { it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); await editTaskFilter.setStatusFilterDropDown('Created');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName); await taskList.checkContentIsDisplayedByName(createdTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); await taskList.checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); await taskList.checkContentIsNotDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); await taskList.checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', async () => { it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CANCELLED'); await editTaskFilter.setStatusFilterDropDown('Cancelled');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); await taskList.checkContentIsDisplayedByName(deletedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); await taskList.checkContentIsNotDisplayedByName(assignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); await taskList.checkContentIsNotDisplayedByName(completedTaskName);
await taskList.checkContentIsNotDisplayedByName(createdTaskName);
}); });
describe('Dropdown', () => { describe('Dropdown', () => {
@@ -173,10 +177,10 @@ describe('Task filters cloud', () => {
}); });
it('[C317658] Should display only tasks with Suspended status when SUSPENDED is selected from status dropdown', async () => { it('[C317658] Should display only tasks with Suspended status when SUSPENDED is selected from status dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); await editTaskFilter.openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); await editTaskFilter.setStatusFilterDropDown('Suspended');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name); await taskList.checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name);
}); });
}); });
}); });

View File

@@ -122,17 +122,47 @@
"ADF_CLOUD_TASK_FILTERS": { "ADF_CLOUD_TASK_FILTERS": {
"MY_TASKS": "My Tasks", "MY_TASKS": "My Tasks",
"QUEUED_TASKS": "Queued Tasks", "QUEUED_TASKS": "Queued Tasks",
"COMPLETED_TASKS": "Completed Tasks" "COMPLETED_TASKS": "Completed Tasks",
"STATUS": {
"ALL": "All",
"CREATED": "Created",
"ASSIGNED": "Assigned",
"SUSPENDED": "Suspended",
"CANCELLED": "Cancelled",
"COMPLETED": "Completed"
},
"DIRECTION": {
"ASCENDING": "Ascending",
"DESCENDING": "Descending"
}
}, },
"ADF_CLOUD_SERVICE_TASK_FILTERS": { "ADF_CLOUD_SERVICE_TASK_FILTERS": {
"ALL_SERVICE_TASKS": "All Service Tasks", "ALL_SERVICE_TASKS": "All Service Tasks",
"ERRORED_TASKS": "Errored Tasks", "ERRORED_TASKS": "Errored Tasks",
"COMPLETED_TASKS": "Completed Tasks" "COMPLETED_TASKS": "Completed Tasks",
"STATUS": {
"ALL": "All",
"STARTED": "Started",
"COMPLETED": "Completed",
"CANCELLED": "Cancelled",
"ERROR": "Error"
}
}, },
"ADF_CLOUD_PROCESS_FILTERS": { "ADF_CLOUD_PROCESS_FILTERS": {
"ALL_PROCESSES": "All", "ALL_PROCESSES": "All",
"RUNNING_PROCESSES": "Running", "RUNNING_PROCESSES": "Running",
"COMPLETED_PROCESSES": "Completed" "COMPLETED_PROCESSES": "Completed",
"STATUS": {
"ALL": "All",
"RUNNING": "Running",
"SUSPENDED": "Suspended",
"CANCELLED": "Cancelled",
"COMPLETED": "Completed"
},
"DIRECTION": {
"ASCENDING": "Ascending",
"DESCENDING": "Descending"
}
}, },
"ADF_CLOUD_START_TASK": { "ADF_CLOUD_START_TASK": {
"ERROR": { "ERROR": {

View File

@@ -390,9 +390,9 @@ describe('EditProcessFilterCloudComponent', () => {
expect(stateElement).toBeDefined(); expect(stateElement).toBeDefined();
expect(sortElement).toBeDefined(); expect(sortElement).toBeDefined();
expect(orderElement).toBeDefined(); expect(orderElement).toBeDefined();
expect(stateElement.innerText.trim()).toEqual('RUNNING'); expect(stateElement.innerText.trim()).toEqual('ADF_CLOUD_PROCESS_FILTERS.STATUS.RUNNING');
expect(sortElement.innerText.trim()).toEqual('ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.ID'); expect(sortElement.innerText.trim()).toEqual('ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.ID');
expect(orderElement.innerText.trim()).toEqual('ASC'); expect(orderElement.innerText.trim()).toEqual('ADF_CLOUD_PROCESS_FILTERS.DIRECTION.ASCENDING');
}); });
})); }));

View File

@@ -32,6 +32,11 @@ import { ProcessCloudService } from '../../services/process-cloud.service';
import { DateCloudFilterType, DateRangeFilter } from '../../../models/date-cloud-filter.model'; import { DateCloudFilterType, DateRangeFilter } from '../../../models/date-cloud-filter.model';
import { ApplicationVersionModel } from '../../../models/application-version.model'; import { ApplicationVersionModel } from '../../../models/application-version.model';
export interface DropdownOption {
value: string;
label: string;
}
@Component({ @Component({
selector: 'adf-cloud-edit-process-filter', selector: 'adf-cloud-edit-process-filter',
templateUrl: './edit-process-filter-cloud.component.html', templateUrl: './edit-process-filter-cloud.component.html',
@@ -94,21 +99,26 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
processFilter: ProcessFilterCloudModel; processFilter: ProcessFilterCloudModel;
changedProcessFilter: ProcessFilterCloudModel; changedProcessFilter: ProcessFilterCloudModel;
status = [ status: Array<DropdownOption> = [
{ label: 'ALL', value: '' }, { value: '', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.ALL' },
{ label: 'RUNNING', value: 'RUNNING' }, { value: 'RUNNING', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.RUNNING' },
{ label: 'SUSPENDED', value: 'SUSPENDED' }, { value: 'SUSPENDED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.SUSPENDED' },
{ label: 'CANCELLED', value: 'CANCELLED' }, { value: 'CANCELLED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.CANCELLED' },
{ label: 'COMPLETED', value: 'COMPLETED' } { value: 'COMPLETED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.COMPLETED' }
];
directions: Array<DropdownOption> = [
{ value: 'ASC', label: 'ADF_CLOUD_PROCESS_FILTERS.DIRECTION.ASCENDING' },
{ value: 'DESC', label: 'ADF_CLOUD_PROCESS_FILTERS.DIRECTION.DESCENDING' }
]; ];
directions = [{ label: 'ASC', value: 'ASC' }, { label: 'DESC', value: 'DESC' }];
actionDisabledForDefault = [ actionDisabledForDefault = [
EditProcessFilterCloudComponent.ACTION_SAVE, EditProcessFilterCloudComponent.ACTION_SAVE,
EditProcessFilterCloudComponent.ACTION_DELETE EditProcessFilterCloudComponent.ACTION_DELETE
]; ];
applicationNames: any[] = []; applicationNames: any[] = [];
allProcessDefinitionNamesOption = { label: 'All', value: '' }; allProcessDefinitionNamesOption: DropdownOption = {
label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.ALL',
value: ''
};
processDefinitionNames: any[] = []; processDefinitionNames: any[] = [];
formHasBeenChanged = false; formHasBeenChanged = false;
editProcessFilterForm: FormGroup; editProcessFilterForm: FormGroup;

View File

@@ -73,7 +73,7 @@ export class ProcessListCloudService extends BaseCloudService {
return queryParam; return queryParam;
} }
private buildFilterForAllStatus() { private buildFilterForAllStatus(): string[] {
return ['RUNNING', 'SUSPENDED', 'CANCELLED', 'COMPLETED']; return ['RUNNING', 'SUSPENDED', 'CANCELLED', 'COMPLETED'];
} }

View File

@@ -29,6 +29,11 @@ import { IdentityGroupModel, IdentityUserModel, TranslationService, UserPreferen
import { TaskFilterDialogCloudComponent } from '../task-filter-dialog/task-filter-dialog-cloud.component'; import { TaskFilterDialogCloudComponent } from '../task-filter-dialog/task-filter-dialog-cloud.component';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
export interface DropdownOption {
value: string;
label: string;
}
@Directive() @Directive()
// tslint:disable-next-line: directive-class-suffix // tslint:disable-next-line: directive-class-suffix
export abstract class BaseEditTaskFilterCloudComponent<T> implements OnInit, OnChanges, OnDestroy { export abstract class BaseEditTaskFilterCloudComponent<T> implements OnInit, OnChanges, OnDestroy {
@@ -44,10 +49,6 @@ export abstract class BaseEditTaskFilterCloudComponent<T> implements OnInit, OnC
public static ORDER: string = 'order'; public static ORDER: string = 'order';
public static DEFAULT_ACTIONS = ['save', 'saveAs', 'delete']; public static DEFAULT_ACTIONS = ['save', 'saveAs', 'delete'];
public static FORMAT_DATE: string = 'DD/MM/YYYY'; public static FORMAT_DATE: string = 'DD/MM/YYYY';
public static DIRECTIONS = [
{ label: 'ASC', value: 'ASC' },
{ label: 'DESC', value: 'DESC' }
];
public static ACTIONS_DISABLED_BY_DEFAULT = [ public static ACTIONS_DISABLED_BY_DEFAULT = [
BaseEditTaskFilterCloudComponent.ACTION_SAVE, BaseEditTaskFilterCloudComponent.ACTION_SAVE,
BaseEditTaskFilterCloudComponent.ACTION_DELETE BaseEditTaskFilterCloudComponent.ACTION_DELETE
@@ -93,14 +94,22 @@ export abstract class BaseEditTaskFilterCloudComponent<T> implements OnInit, OnC
@Output() @Output()
action = new EventEmitter<TaskFilterAction>(); action = new EventEmitter<TaskFilterAction>();
protected applicationNames: any[] = []; protected applicationNames: DropdownOption[] = [];
protected processDefinitionNames: any[] = []; protected processDefinitionNames: DropdownOption[] = [];
protected formHasBeenChanged = false; protected formHasBeenChanged = false;
editTaskFilterForm: FormGroup; editTaskFilterForm: FormGroup;
taskFilterProperties: TaskFilterProperties[] = []; taskFilterProperties: TaskFilterProperties[] = [];
taskFilterActions: TaskFilterAction[] = []; taskFilterActions: TaskFilterAction[] = [];
toggleFilterActions: boolean = false; toggleFilterActions: boolean = false;
allProcessDefinitionNamesOption = { label: 'All', value: '' }; sortDirections: DropdownOption[] = [
{ value: 'ASC', label: 'ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING' },
{ value: 'DESC', label: 'ADF_CLOUD_TASK_FILTERS.DIRECTION.DESCENDING' }
];
allProcessDefinitionNamesOption: DropdownOption = {
value: '',
label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ALL'
};
taskFilter: T; taskFilter: T;
changedTaskFilter: T; changedTaskFilter: T;
@@ -314,7 +323,7 @@ export abstract class BaseEditTaskFilterCloudComponent<T> implements OnInit, OnC
this.checkMandatorySortProperties(); this.checkMandatorySortProperties();
return this.sortProperties.map((property: string) => { return this.sortProperties.map((property: string) => {
return { label: property.charAt(0).toUpperCase() + property.slice(1), value: property }; return { label: property, value: property };
}); });
} }

View File

@@ -381,14 +381,13 @@ describe('EditServiceTaskFilterCloudComponent', () => {
const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]'); const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]');
const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]'); const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]');
expect(assigneeElement).toBeDefined(); expect(assigneeElement).toBeDefined();
expect(stateElement.textContent.trim()).toBe('COMPLETED'); expect(stateElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED');
expect(sortElement.textContent.trim()).toBe('Id'); expect(sortElement.textContent.trim()).toBe('id');
expect(orderElement.textContent.trim()).toBe('ASC'); expect(orderElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING');
}); });
})); }));
it('should display all the statuses that are defined in the task filter', async(() => { it('should display all the statuses that are defined in the task filter', async(() => {
const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header');
expansionPanel.click(); expansionPanel.click();
fixture.detectChanges(); fixture.detectChanges();
@@ -399,11 +398,11 @@ describe('EditServiceTaskFilterCloudComponent', () => {
const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]')); const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]'));
expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ALL'); expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ALL');
expect(statusOptions[1].nativeElement.textContent.trim()).toBe('STARTED'); expect(statusOptions[1].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.STARTED');
expect(statusOptions[2].nativeElement.textContent.trim()).toBe('COMPLETED'); expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED');
expect(statusOptions[3].nativeElement.textContent.trim()).toBe('CANCELLED'); expect(statusOptions[3].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.CANCELLED');
expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ERROR'); expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ERROR');
})); }));
it('should display sort drop down', async(() => { it('should display sort drop down', async(() => {

View File

@@ -28,7 +28,7 @@ import { TranslationService, UserPreferencesService } from '@alfresco/adf-core';
import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service'; import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service';
import { TaskCloudService } from '../../../services/task-cloud.service'; import { TaskCloudService } from '../../../services/task-cloud.service';
import { ServiceTaskFilterCloudService } from '../../services/service-task-filter-cloud.service'; import { ServiceTaskFilterCloudService } from '../../services/service-task-filter-cloud.service';
import { BaseEditTaskFilterCloudComponent } from './base-edit-task-filter-cloud.component'; import { BaseEditTaskFilterCloudComponent, DropdownOption } from './base-edit-task-filter-cloud.component';
@Component({ @Component({
selector: 'adf-cloud-edit-service-task-filter', selector: 'adf-cloud-edit-service-task-filter',
@@ -91,17 +91,19 @@ export class EditServiceTaskFilterCloudComponent extends BaseEditTaskFilterCloud
return this.serviceTaskFilterCloudService.getTaskListFilters(this.appName); return this.serviceTaskFilterCloudService.getTaskListFilters(this.appName);
} }
private getDefaultProperties() { private getStatusOptions(): DropdownOption[] {
return [ return [
{ label: 'ALL', value: '' }, { value: '', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ALL' },
{ label: 'STARTED', value: 'STARTED' }, { value: 'STARTED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.STARTED' },
{ label: 'COMPLETED', value: 'COMPLETED' }, { value: 'COMPLETED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED' },
{ label: 'CANCELLED', value: 'CANCELLED' }, { value: 'CANCELLED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.CANCELLED' },
{ label: 'ERROR', value: 'ERROR' } { value: 'ERROR', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ERROR' }
]; ];
} }
createTaskFilterProperties(): TaskFilterProperties[] { createTaskFilterProperties(): TaskFilterProperties[] {
const statusOptions = this.getStatusOptions();
return [ return [
{ {
label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.APP_NAME', label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.APP_NAME',
@@ -145,15 +147,15 @@ export class EditServiceTaskFilterCloudComponent extends BaseEditTaskFilterCloud
label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.DIRECTION', label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.DIRECTION',
type: 'select', type: 'select',
key: 'order', key: 'order',
value: this.taskFilter.order || EditServiceTaskFilterCloudComponent.DIRECTIONS[0].value, value: this.taskFilter.order || this.sortDirections[0].value,
options: EditServiceTaskFilterCloudComponent.DIRECTIONS options: [...this.sortDirections]
}, },
{ {
label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STATUS', label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STATUS',
type: 'select', type: 'select',
key: 'status', key: 'status',
value: this.taskFilter.status || this.getDefaultProperties()[0].value, value: this.taskFilter.status || statusOptions[0].value,
options: this.getDefaultProperties() options: statusOptions
}, },
{ {
label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STARTED_DATE', label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STARTED_DATE',

View File

@@ -396,9 +396,9 @@ describe('EditTaskFilterCloudComponent', () => {
const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]'); const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]');
const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]'); const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]');
expect(assigneeElement).toBeDefined(); expect(assigneeElement).toBeDefined();
expect(stateElement.textContent.trim()).toBe('CREATED'); expect(stateElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CREATED');
expect(sortElement.textContent.trim()).toBe('Id'); expect(sortElement.textContent.trim()).toBe('id');
expect(orderElement.textContent.trim()).toBe('ASC'); expect(orderElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING');
}); });
})); }));
@@ -414,12 +414,12 @@ describe('EditTaskFilterCloudComponent', () => {
const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]')); const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]'));
expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ALL'); expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.ALL');
expect(statusOptions[1].nativeElement.textContent.trim()).toBe('CREATED'); expect(statusOptions[1].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CREATED');
expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ASSIGNED'); expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.ASSIGNED');
expect(statusOptions[3].nativeElement.textContent.trim()).toBe('SUSPENDED'); expect(statusOptions[3].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.SUSPENDED');
expect(statusOptions[4].nativeElement.textContent.trim()).toBe('CANCELLED'); expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CANCELLED');
expect(statusOptions[5].nativeElement.textContent.trim()).toBe('COMPLETED'); expect(statusOptions[5].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.COMPLETED');
})); }));
it('should display sort drop down', async(() => { it('should display sort drop down', async(() => {

View File

@@ -30,7 +30,7 @@ import { TranslationService, UserPreferencesService } from '@alfresco/adf-core';
import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service'; import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service';
import { DateCloudFilterType } from '../../../../models/date-cloud-filter.model'; import { DateCloudFilterType } from '../../../../models/date-cloud-filter.model';
import { TaskCloudService } from '../../../services/task-cloud.service'; import { TaskCloudService } from '../../../services/task-cloud.service';
import { BaseEditTaskFilterCloudComponent } from './base-edit-task-filter-cloud.component'; import { BaseEditTaskFilterCloudComponent, DropdownOption } from './base-edit-task-filter-cloud.component';
@Component({ @Component({
selector: 'adf-cloud-edit-task-filter', selector: 'adf-cloud-edit-task-filter',
@@ -140,18 +140,21 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone
]; ];
} }
private getDefaultProperties() { private getStatusOptions(): DropdownOption[] {
return [ return [
{ label: 'ALL', value: '' }, { value: '', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ALL' },
{ label: 'CREATED', value: 'CREATED' }, { value: 'CREATED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.CREATED' },
{ label: 'ASSIGNED', value: 'ASSIGNED' }, { value: 'ASSIGNED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ASSIGNED' },
{ label: 'SUSPENDED', value: 'SUSPENDED' }, { value: 'SUSPENDED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.SUSPENDED' },
{ label: 'CANCELLED', value: 'CANCELLED' }, { value: 'CANCELLED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.CANCELLED' },
{ label: 'COMPLETED', value: 'COMPLETED' } { value: 'COMPLETED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.COMPLETED' }
]; ];
} }
createTaskFilterProperties(): TaskFilterProperties[] { createTaskFilterProperties(): TaskFilterProperties[] {
const statusOptions = this.getStatusOptions();
const sortProperties = this.createSortProperties;
return [ return [
{ {
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.APP_NAME', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.APP_NAME',
@@ -170,8 +173,8 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STATUS', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STATUS',
type: 'select', type: 'select',
key: 'status', key: 'status',
value: this.taskFilter.status || this.getDefaultProperties()[0].value, value: this.taskFilter.status || statusOptions[0].value,
options: this.getDefaultProperties() options: statusOptions
}, },
{ {
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.ASSIGNMENT', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.ASSIGNMENT',
@@ -233,15 +236,15 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.SORT', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.SORT',
type: 'select', type: 'select',
key: 'sort', key: 'sort',
value: this.taskFilter.sort || this.createSortProperties[0].value, value: this.taskFilter.sort || sortProperties[0].value,
options: this.createSortProperties options: sortProperties
}, },
{ {
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.DIRECTION', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.DIRECTION',
type: 'select', type: 'select',
key: 'order', key: 'order',
value: this.taskFilter.order || EditTaskFilterCloudComponent.DIRECTIONS[0].value, value: this.taskFilter.order || this.sortDirections[0].value,
options: EditTaskFilterCloudComponent.DIRECTIONS options: [...this.sortDirections]
}, },
{ {
label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STAND_ALONE', label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STAND_ALONE',

View File

@@ -175,7 +175,7 @@ export class DataTableComponentPage {
sortedList = sortedList.sort(this.sortPriority); sortedList = sortedList.sort(this.sortPriority);
} }
if (sortOrder.toLocaleLowerCase() === 'desc') { if (['desc', 'descending'].includes(sortOrder.toLocaleLowerCase())) {
sortedList = sortedList.reverse(); sortedList = sortedList.reverse();
} }

View File

@@ -21,6 +21,15 @@ import { BrowserActions } from '../../core/utils/browser-actions';
import { DropdownPage } from '../../core/pages/material/dropdown.page'; import { DropdownPage } from '../../core/pages/material/dropdown.page';
import { PeopleCloudComponentPage } from './people-cloud-component.page'; import { PeopleCloudComponentPage } from './people-cloud-component.page';
export interface FilterProps {
name?: string;
status?: string;
sort?: string;
order?: string;
initiator?: string;
processName?: string;
}
export class EditProcessFilterCloudComponentPage { export class EditProcessFilterCloudComponentPage {
customiseFilter = element(by.id('adf-edit-process-filter-sub-title-id')); customiseFilter = element(by.id('adf-edit-process-filter-sub-title-id'));
@@ -205,14 +214,14 @@ export class EditProcessFilterCloudComponentPage {
await BrowserActions.click(this.saveButton); await BrowserActions.click(this.saveButton);
} }
async setFilter({ name = '', status = '', sort = '', order = '', initiator = '', processName = '' }): Promise<void> { async setFilter(props: FilterProps): Promise<void> {
await this.openFilter(); await this.openFilter();
if (name) { await this.setProcessName(name); } if (props.name) { await this.setProcessName(props.name); }
if (status) { await this.setStatusFilterDropDown(status); } if (props.status) { await this.setStatusFilterDropDown(props.status); }
if (sort) { await this.setSortFilterDropDown(sort); } if (props.sort) { await this.setSortFilterDropDown(props.sort); }
if (order) { await this.setOrderFilterDropDown(order); } if (props.order) { await this.setOrderFilterDropDown(props.order); }
if (initiator) { await this.setInitiator(initiator); } if (props.initiator) { await this.setInitiator(props.initiator); }
if (processName) { await this.setProcessName(processName); } if (props.processName) { await this.setProcessName(props.processName); }
await this.openFilter(); await this.openFilter();
} }
} }

View File

@@ -23,6 +23,8 @@ import { DropdownPage } from '../../core/pages/material/dropdown.page';
import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
import { PeopleCloudComponentPage } from './people-cloud-component.page'; import { PeopleCloudComponentPage } from './people-cloud-component.page';
export type StatusType = 'All' | 'Created' | 'Assigned' | 'Cancelled' | 'Suspended' | 'Completed';
export class EditTaskFilterCloudComponentPage { export class EditTaskFilterCloudComponentPage {
customiseFilter = element(by.id('adf-edit-task-filter-sub-title-id')); customiseFilter = element(by.id('adf-edit-task-filter-sub-title-id'));
@@ -72,7 +74,7 @@ export class EditTaskFilterCloudComponentPage {
await browser.driver.sleep(1000); await browser.driver.sleep(1000);
} }
async setStatusFilterDropDown(option: string): Promise<void> { async setStatusFilterDropDown(option: StatusType): Promise<void> {
await this.statusDropdown.selectDropdownOption(option); await this.statusDropdown.selectDropdownOption(option);
await this.dataTable.waitTillContentLoaded(); await this.dataTable.waitTillContentLoaded();
} }