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

View File

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

View File

@@ -30,7 +30,11 @@ describe('Form Field Component - Dropdown Widget', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskFormCloudComponent = new TaskFormCloudComponent();
const notificationHistoryPage = new NotificationHistoryPage();
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
await taskList.checkContentIsDisplayedByName(task.entry.name);
await taskList.selectRow(task.entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -106,16 +110,16 @@ describe('Form Field Component - Dropdown Widget', () => {
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
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 tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name);
await taskList.checkContentIsDisplayedByName(task.entry.name);
await taskList.selectRow(task.entry.name);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj');

View File

@@ -38,11 +38,18 @@ describe('Task cloud visibility', async () => {
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent();
const startProcessPage = new StartProcessCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const loginSSOPage = new LoginPage();
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.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskList.getDataTable().waitTillContentLoaded();
await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1');
await taskFormCloudComponent.formFields().checkWidgetIsHidden('Number2');
@@ -108,11 +115,11 @@ describe('Task cloud visibility', async () => {
await startProcessPage.checkStartProcessButtonIsEnabled();
await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('number_visibility_task');
await editProcessFilter.setFilter({ processName });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(processName);
await taskList.getDataTable().waitTillContentLoaded();
await taskList.selectRow('number_visibility_task');
await taskFormCloudComponent.clickClaimButton();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1');
@@ -140,11 +147,11 @@ describe('Task cloud visibility', async () => {
await browser.sleep(400);
await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('boolean_visibility_task');
await editProcessFilter.setFilter({ processName });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(processName);
await taskList.getDataTable().waitTillContentLoaded();
await taskList.selectRow('boolean_visibility_task');
await taskFormCloudComponent.clickClaimButton();
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.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskList.getDataTable().waitTillContentLoaded();
await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Checkbox2');
await taskFormCloudComponent.formFields().checkWidgetIsHidden('Checkbox3');

View File

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

View File

@@ -15,7 +15,21 @@
* 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 { ProcessCloudDemoPage } from './pages/process-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', () => {
// 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', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const apiService = new ApiService();
@@ -111,152 +143,160 @@ describe('Process list cloud', () => {
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Name', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Name', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ order: SORT_DIRECTION.DESC});
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Id', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Id', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Status', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Status', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Started by', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Started by', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Started by')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionId', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionId', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionKey', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionKey', order: SORT_DIRECTION.ASC });
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 expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Last Modified', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Last Modified', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC });
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Business Key', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Business Key', order: SORT_DIRECTION.ASC });
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true);
await setFilter({ order: SORT_DIRECTION.DESC});
await waitTillContentLoaded();
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 () => {
await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(completedProcess.entry.id);
await editProcessFilter.openFilter();
await editProcessFilter.setProcessInstanceId(completedProcess.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await editProcessFilter.clickSaveAsButton();
await editProcessFilter.editProcessFilterDialog().setFilterName('New');
await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1);
await processList.checkContentIsDisplayedById(completedProcess.entry.id);
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
noOfApps = await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions();
await editProcessFilter.openFilter();
noOfApps = await editProcessFilter.getNumberOfAppNameOptions();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(runningProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await editProcessFilter.setAppNameDropDown(candidateBaseApp);
await editProcessFilter.setProcessInstanceId(runningProcessInstance.entry.id);
await waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await processList.checkContentIsDisplayedById(runningProcessInstance.entry.id);
await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await editProcessFilter.clickSaveAsButton();
await editProcessFilter.editProcessFilterDialog().setFilterName('SavedFilter');
await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SavedFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
await editProcessFilter.openFilter();
await expect(await editProcessFilter.getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(switchProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
await editProcessFilter.setAppNameDropDown(candidateBaseApp);
await editProcessFilter.setProcessInstanceId(switchProcessInstance.entry.id);
await waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SwitchFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton();
await processList.checkContentIsDisplayedById(switchProcessInstance.entry.id);
await editProcessFilter.clickSaveAsButton();
await editProcessFilter.editProcessFilterDialog().setFilterName('SwitchFilter');
await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SwitchFilter');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(switchProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
await editProcessFilter.openFilter();
await expect(await editProcessFilter.getProcessInstanceId()).toEqual(switchProcessInstance.entry.id);
await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps);
await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
});

View File

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

View File

@@ -40,12 +40,26 @@ import {
} from '@alfresco/adf-process-services-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 navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
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 taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent();
@@ -82,26 +96,26 @@ describe('Process filters cloud', () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await taskList.checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
});
it('[C290040] Should be able to open the Task Details page by clicking on the process name', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(simpleApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', processInstance.id);
await editProcessFilter.openFilter();
await editProcessFilter.setAppNameDropDown(simpleApp);
await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING);
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 processDetailsCloudDemoPage.checkTaskIsDisplayed(taskName);
await browser.navigate().back();
await tasksCloudDemoPage.taskFilterCloudComponent.clickOnTaskFilters();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned[0].entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskAssigned[0].entry.name);
await taskFilter.clickOnTaskFilters();
await editTaskFilter.openFilter();
await taskList.checkContentIsDisplayedByName(taskAssigned[0].entry.name);
await taskList.selectRow(taskAssigned[0].entry.name);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskFormCloudComponent.getFormTitle()).toContain(taskName);
await taskFormCloudComponent.clickCompleteButton();

View File

@@ -36,8 +36,15 @@ describe('Process Header cloud component', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const processList = processCloudDemoPage.processListCloudComponent();
const editProcessFilterConfiguration = new EditProcessFilterConfiguration();
const editProcessFilterConfigFile = editProcessFilterConfiguration.getConfiguration();
@@ -97,17 +104,17 @@ describe('Process Header cloud component', () => {
it('[C305010] Should display process details for running process', async () => {
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await taskList.checkTaskListIsLoaded();
await processFilter.clickOnProcessFilters();
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 processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name);
await editProcessFilter.setFilter({ processName: runningProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
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.getName()).toEqual(runningProcess.entry.name);
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 () => {
await appListCloudComponent.goToApp(subProcessApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await taskList.checkTaskListIsLoaded();
await processFilter.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.COMPLETED);
await processFilter.clickCompletedProcessesFilter();
await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.COMPLETED);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name);
await editProcessFilter.setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` });
await processList.getDataTable().waitTillContentLoaded();
await processList.checkContentIsDisplayedByName(childCompleteProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(childCompleteProcess.entry.id);
await processList.checkProcessListIsLoaded();
await processList.selectRowById(childCompleteProcess.entry.id);
await expect(await processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id);
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 navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const tasksCloudDemoPage = new TasksCloudDemoPage();
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(editProcess.entry.name);
await editProcessFilter.openFilter();
await editProcessFilter.setProcessName(editProcess.entry.name);
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(editProcess.entry.id);
await processCloudDemoPage.processListCloudComponent().clickOptionsButton(editProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3);
await processCloudDemoPage.processListCloudComponent().clickOnCustomActionMenu('edit');
await processList.checkProcessListIsLoaded();
await processList.checkContentIsDisplayedById(editProcess.entry.id);
await processList.clickOptionsButton(editProcess.entry.id);
await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processList.getNumberOfOptions()).toBe(3);
await processList.clickOnCustomActionMenu('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 processCloudDemoPage.processListCloudComponent().rightClickOnRow(deleteProcess.entry.id);
await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3);
await processCloudDemoPage.processListCloudComponent().clickContextMenuActionNamed('delete');
await processList.rightClickOnRow(deleteProcess.entry.id);
await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await processList.getNumberOfOptions()).toBe(3);
await processList.clickContextMenuActionNamed('delete');
await processCloudDemoPage.checkActionExecuted(deleteProcess.entry.id, 'delete');
});
});

View File

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

View File

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

View File

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

View File

@@ -52,14 +52,23 @@ describe('Start Task Form', () => {
const taskFormCloudComponent = new TaskFormCloudComponent();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage();
const contentNodeSelectorDialogPage = new ContentNodeSelectorDialogPage();
const breadCrumbDropdownPage = new BreadcrumbDropdownPage();
const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage();
const widget = new ProcessCloudWidgetPage();
const startProcessPage = new StartProcessCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
const processList = processCloudDemoPage.processListCloudComponent();
const processFilter = processCloudDemoPage.processFilterCloudComponent;
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const processHeaderCloud = new ProcessHeaderCloudPage();
@@ -166,7 +175,7 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(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 () => {
@@ -175,8 +184,8 @@ describe('Start Task Form', () => {
await startTask.addName(standaloneTaskName);
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.forms.starteventform);
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskList.checkContentIsDisplayedByName(standaloneTaskName);
await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName');
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9');
@@ -191,11 +200,11 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await taskList.getDataTable().waitForTableBody();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsDisplayedByName(standaloneTaskName);
await taskList.selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkFormIsDisplayed();
await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample');
await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26');
@@ -250,17 +259,17 @@ describe('Start Task Form', () => {
await widget.numberWidget().setFieldValue('Number07vyx9', 100);
await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true);
await startProcessPage.clickStartProcessButton();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess);
await processFilter.clickRunningProcessesFilter();
await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
await editProcessFilter.openFilter();
await editProcessFilter.setProcessName(startEventFormProcess);
await browser.sleep(1000);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(startEventFormProcess);
await processList.getDataTable().waitTillContentLoaded();
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 processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask');
@@ -270,19 +279,19 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await taskList.checkContentIsDisplayedById(taskId);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processId);
await processFilter.clickOnProcessFilters();
await processFilter.clickCompletedProcessesFilter();
await editProcessFilter.openFilter();
await editProcessFilter.setProcessName(startEventFormProcess);
await processList.checkContentIsDisplayedById(processId);
});
});
@@ -292,15 +301,15 @@ describe('Start Task Form', () => {
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp);
await appListCloudComponent.goToApp(candidateBaseApp);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processFilter.clickOnProcessFilters();
await processFilter.clickRunningProcessesFilter();
await processList.checkProcessListIsLoaded();
});
it('[C310358] Should be able to attach a file to a form from local', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadLocalFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadLocalFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadLocalFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadLocalFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadDefaultFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadDefaultFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadDefaultFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadDefaultFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: cancelUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(cancelUploadFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: cancelUploadFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(cancelUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -379,9 +388,9 @@ describe('Start Task Form', () => {
});
it('[C311289] Should be able to attach single file', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('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 () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -435,9 +444,9 @@ describe('Start Task Form', () => {
});
it('[C311295] Attached file is displayed after complete', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: completeUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(completeUploadFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: completeUploadFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(completeUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -452,22 +461,22 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.checkCompleteButtonIsDisplayed();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId);
await taskList.checkContentIsDisplayedById(taskId);
await taskList.selectRowByTaskId(taskId);
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile');
});
it('[C315292] Should be able to download attached file from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: downloadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(downloadContentFileProcess.entry.name);
await editProcessFilter.setFilter({ processName: downloadContentFileProcess.entry.name });
await processList.getDataTable().waitTillContentLoaded();
await processList.selectRow(downloadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -489,14 +498,14 @@ describe('Start Task Form', () => {
const taskId = await taskHeaderCloudPage.getId();
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsNotDisplayedById(taskId);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId);
await taskList.checkContentIsDisplayedById(taskId);
await taskList.selectRowByTaskId(taskId);
await contentFileWidget.checkFileIsAttached(testFileModel.name);
await contentFileWidget.downloadFile(testFileModel.name);
await FileBrowserUtil.isFileDownloaded(testFileModel.name);

View File

@@ -39,7 +39,12 @@ describe('Start Task', () => {
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const startTask = new StartTasksCloudPage();
const peopleCloudComponent = new PeopleCloudComponentPage();
@@ -95,7 +100,7 @@ describe('Start Task', () => {
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.checkAppIsDisplayed(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 () => {
@@ -104,14 +109,14 @@ describe('Start Task', () => {
await peopleCloudComponent.clearAssigneeFromChip(testUser.username);
await startTask.addName(unassignedTaskName);
await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
const taskId = await tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName);
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('Created');
await taskList.getDataTable().waitForTableBody();
await taskList.checkContentIsDisplayedByName(unassignedTaskName);
const taskId = await taskList.getIdCellValue(unassignedTaskName);
await taskList.selectRow(unassignedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await expect(await taskHeaderCloudPage.getId()).toBe(taskId);
await expect(await taskHeaderCloudPage.getAssignee()).toBe('No assignee');
@@ -124,11 +129,11 @@ describe('Start Task', () => {
await startTask.addName(unassignedTaskName);
await startTask.checkStartButtonIsEnabled();
await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
await editTaskFilter.openFilter();
await editTaskFilter.setStatusFilterDropDown('Created');
await editTaskFilter.clearAssignee();
await taskList.checkContentIsDisplayedByName(unassignedTaskName);
});
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.checkStartButtonIsEnabled();
await startTask.clickCancelButton();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
await taskList.checkContentIsNotDisplayedByName(standaloneTaskName);
});
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.addPriority('Normal');
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 () => {
@@ -190,10 +195,10 @@ describe('Start Task', () => {
await browser.driver.sleep(1000);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
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 () => {
@@ -207,15 +212,15 @@ describe('Start Task', () => {
await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`);
await startTask.clickStartButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('All');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName);
await taskList.checkContentIsDisplayedByName(reassignTaskName);
await browser.driver.sleep(1000);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName);
await taskList.selectRow(reassignTaskName);
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 navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const startTask = new StartTasksCloudPage();
const peopleCloudComponent = new PeopleCloudComponentPage();
const groupCloud = new GroupCloudComponentPage();
@@ -111,8 +114,8 @@ describe('Start Task - Group Cloud Component', () => {
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName);
@@ -135,8 +138,8 @@ describe('Start Task - Group Cloud Component', () => {
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName);

View File

@@ -39,6 +39,8 @@ describe('Task filters cloud', () => {
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService();
const queryService = new QueryService(apiService);
@@ -77,18 +79,18 @@ describe('Task filters cloud', () => {
const task = await tasksService.createStandaloneTask(newTask, simpleApp);
await tasksService.claimTask(task.entry.id, simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask);
await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await taskList.checkContentIsNotDisplayedByName(newTask);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
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 () => {
@@ -97,18 +99,18 @@ describe('Task filters cloud', () => {
await tasksService.completeTask(toBeCompletedTask.entry.id, simpleApp);
await queryService.getTaskByStatus(toBeCompletedTask.entry.name, simpleApp, 'COMPLETED');
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsNotDisplayedByName(completedTask);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
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 appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent();
const widget = new ProcessCloudWidgetPage();
@@ -174,8 +176,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[0].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -205,8 +207,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[1].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -233,9 +235,9 @@ describe('Task form cloud component', () => {
await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar);
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 widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -253,8 +255,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[4].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -292,8 +294,8 @@ describe('Task form cloud component', () => {
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[6].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -317,8 +319,8 @@ describe('Task form cloud component', () => {
await widget.tab().checkTabIsDisplayedByLabel(tab.tabMultipleConditions);
await taskFormCloudComponent.clickCompleteButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle);
await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name);
await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[3].entry.name);
await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields);
@@ -326,22 +328,22 @@ describe('Task form cloud component', () => {
});
async function chooseFilterAndSelectTaskByName(filterName: string, taskName: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName);
await taskFilter.clickTaskFilter(filterName);
await taskList.getDataTable().waitTillContentLoaded();
await taskList.checkContentIsDisplayedByName(taskName);
await taskList.selectRow(taskName);
}
async function selectTaskByName(taskName: string): Promise<void> {
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName);
await taskList.checkContentIsDisplayedByName(taskName);
await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
}
async function chooseFilter(filterName: string, filterTitle: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(filterTitle);
await taskFilter.clickTaskFilter(filterName);
await taskList.getDataTable().waitTillContentLoaded();
await expect(await taskFilter.getActiveFilterName()).toBe(filterTitle);
}
});
});

View File

@@ -43,7 +43,12 @@ describe('Task form cloud component', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const taskFormCloudComponent = new TaskFormCloudComponent();
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 () => {
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await expect(tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await expect(taskFilter.getActiveFilterName()).toBe('My Tasks');
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('Created');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(formTaskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(formTaskId);
await taskList.checkContentIsDisplayedById(formTaskId);
await taskList.selectRowByTaskId(formTaskId);
await taskFormCloudComponent.checkFormIsReadOnly();
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name);
await taskList.selectRow(assigneeTask.entry.name);
await taskFormCloudComponent.checkFormIsNotDisplayed();
await expect(await taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name);
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await selectTaskByName(formValidationsTask.entry.name);
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(completedTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks');
await taskList.checkContentIsDisplayedByName(completedTaskName);
await taskList.selectRow(completedTaskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307095] Task can not be completed by owner user', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await editTaskFilter.openFilter();
await browser.driver.sleep(1000);
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED');
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('Created');
await selectTaskByName(createdTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307110] Task list is displayed after clicking on Cancel button', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
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 taskFormCloudComponent.clickCancelButton();
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name);
});
it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
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 completeTask();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
await taskList.checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(completedTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
await taskList.checkContentIsDisplayedByName(toBeCompletedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
it('[C307111] Task of a process can be completed by a user that is owner and assignee', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(myTasksFilter);
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 completeTask();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name);
await taskList.checkContentIsNotDisplayedByName(completedTask.entry.name);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(completedTasksFilter);
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name);
await taskList.checkContentIsDisplayedByName(completedTask.entry.name);
await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed();
});
});
async function openTaskByIdFromFilters(filterName: string, taskId: string): Promise<void> {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(filterName);
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId);
await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId);
await taskList.checkContentIsDisplayedById(taskId);
await taskList.selectRowByTaskId(taskId);
}
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> {
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName);
await taskList.checkContentIsDisplayedByName(taskName);
await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
}
@@ -381,11 +386,11 @@ describe('Task form cloud component', () => {
async function goToAppOpenDropdownTaskByNameFromFilters(filterName: string, taskName: string): Promise<void> {
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter(filterName);
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName);
await taskList.checkContentIsDisplayedByName(taskName);
await taskList.selectRow(taskName);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await widget.dropdown().isWidgetVisible(dropdownFieldId);
}

View File

@@ -44,7 +44,12 @@ describe('Task Header cloud component', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const peopleCloudComponentPage = new PeopleCloudComponentPage();
const taskHeaderCloudPage = new TaskHeaderCloudPage();
@@ -134,11 +139,11 @@ describe('Task Header cloud component', () => {
});
it('[C291943] Should display task details for assigned task', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);
await taskList.checkContentIsDisplayedByName(basicCreatedTaskName);
await taskList.selectRow(basicCreatedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -158,11 +163,11 @@ describe('Task Header cloud component', () => {
});
it('[C291944] Should display task details for completed task', async () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await taskList.checkContentIsDisplayedByName(completedTaskName);
await taskList.selectRow(completedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded();
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('my-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name);
await taskList.checkContentIsDisplayedByName(subTask.entry.name);
await taskList.selectRow(subTask.entry.name);
await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
@@ -207,12 +212,12 @@ describe('Task Header cloud component', () => {
});
it('[C309698] Should validate the Priority field', async () => {
await tasksCloudDemoPage.editTaskFilterCloud.openFilter();
await tasksCloudDemoPage.editTaskFilterCloud.setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloud.clearAssignee();
await editTaskFilter.openFilter();
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.clearAssignee();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unclaimedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(unclaimedTask.entry.name);
await taskList.checkContentIsDisplayedByName(unclaimedTask.entry.name);
await taskList.selectRow(unclaimedTask.entry.name);
await tasksCloudDemoPage.waitTillContentLoaded();
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 () => {
await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks');
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await taskFilter.clickTaskFilter('completed-tasks');
await taskList.getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
await taskList.checkContentIsDisplayedByName(completedTaskName);
await taskList.selectRow(completedTaskName);
await tasksCloudDemoPage.waitTillContentLoaded();
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();

View File

@@ -29,7 +29,11 @@ describe('Process list cloud', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService();
const identityService = new IdentityService(apiService);
@@ -86,23 +90,23 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.addInvisibleAction('invisibleaction');
await tasksCloudDemoPage.actionAdded('invisibleaction');
await tasksCloudDemoPage.clickAppButton();
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks');
await editTaskFilter.openFilter();
await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
});
it('[C315723] Should be able to see and execute custom action menu', async () => {
await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks');
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(editTask.list.entries[0].entry.id);
await tasksCloudDemoPage.taskListCloudComponent().clickOptionsButton(editTask.list.entries[0].entry.id);
await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3);
await tasksCloudDemoPage.taskListCloudComponent().clickOnCustomActionMenu('edit');
await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
await taskList.checkTaskListIsLoaded();
await taskList.checkContentIsDisplayedById(editTask.list.entries[0].entry.id);
await taskList.clickOptionsButton(editTask.list.entries[0].entry.id);
await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await taskList.getNumberOfOptions()).toBe(3);
await taskList.clickOnCustomActionMenu('edit');
await tasksCloudDemoPage.checkActionExecuted(editTask.list.entries[0].entry.id, 'edit');
await tasksCloudDemoPage.taskListCloudComponent().rightClickOnRow(deleteTask.list.entries[0].entry.id);
await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3);
await tasksCloudDemoPage.taskListCloudComponent().clickContextMenuActionNamed('delete');
await taskList.rightClickOnRow(deleteTask.list.entries[0].entry.id);
await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
await expect(await taskList.getNumberOfOptions()).toBe(3);
await taskList.clickContextMenuActionNamed('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';
describe('Edit task filters and task list properties', () => {
const SORT_ORDER = {
ASC: 'Ascending',
DESC: 'Descending'
};
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService();
const identityService = new IdentityService(apiService);
@@ -126,98 +134,98 @@ describe('Edit task filters and task list properties', () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks');
await editTaskFilter.openFilter();
await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
});
it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.setStatusFilterDropDown('Assigned');
await editTaskFilter.setSortFilterDropDown('name');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Id');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.setStatusFilterDropDown('Assigned');
await editTaskFilter.setSortFilterDropDown('id');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessDefinitionId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true);
await editTaskFilter.setStatusFilterDropDown('Assigned');
await editTaskFilter.setSortFilterDropDown('processDefinitionId');
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC);
await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ProcessDefinitionId')).toBe(true);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessInstanceId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.setStatusFilterDropDown('Assigned');
await editTaskFilter.setSortFilterDropDown('processInstanceId');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Assignee');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.setSortFilterDropDown('assignee');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ParentTaskId');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.setSortFilterDropDown('parentTaskId');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.setSortFilterDropDown('priority');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority', 'PRIORITY')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Owner');
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC');
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.setSortFilterDropDown('owner');
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 expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true);
await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC);
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 navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const apiService = new ApiService();
const identityService = new IdentityService(apiService);
@@ -105,166 +109,164 @@ describe('Edit task filters and task list properties', () => {
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks');
await editTaskFilter.openFilter();
await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
});
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 tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await taskList.checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp);
await editTaskFilter.setAppNameDropDown(candidateBaseApp);
await expect(await editTaskFilter.getAppNameDropDownValue()).toEqual(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await taskList.checkContentIsDisplayedByName(notDisplayedTask.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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId(createdTask.entry.id);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(createdTask.entry.id);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameId(createdTask.entry.id).then(async (list) => {
await editTaskFilter.setId(createdTask.entry.id);
await expect(await editTaskFilter.getId()).toEqual(createdTask.entry.id);
await taskList.checkContentIsDisplayedById(createdTask.entry.id);
await taskList.getRowsWithSameId(createdTask.entry.id).then(async (list) => {
await expect(list.length).toEqual(1);
});
});
it('[C291907] Should be able to see No tasks found when typing an invalid task id', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setId('invalidId');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual('invalidId');
await editTaskFilter.setId('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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then(async (list) => {
await editTaskFilter.setTaskName(createdTask.entry.name);
await expect(await editTaskFilter.getTaskName()).toEqual(createdTask.entry.name);
await taskList.getRowsWithSameName(createdTask.entry.name).then(async (list) => {
await expect(list.length).toEqual(1);
});
});
it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName('invalidName');
await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual('invalidName');
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await editTaskFilter.setTaskName('invalidName');
await expect(await editTaskFilter.getTaskName()).toEqual('invalidName');
await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
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 tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await editTaskFilter.setProcessInstanceId(processInstance.entry.id);
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 tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
await taskList.checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
});
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee(testUser.username);
await editTaskFilter.setAssignee(testUser.username);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name);
await taskList.checkContentIsDisplayedByName(createdTask.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 () => {
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('Low');
await editTaskFilter.setPriority('Low');
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await taskList.checkContentIsDisplayedByName(priorityTask.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 () => {
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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId);
await editTaskFilter.setParentTaskId(subTask.entry.parentTaskId);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await taskList.checkContentIsDisplayedByName(subTask.entry.name);
await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297486] Filter by Owner', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL');
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner(testUser.username);
await editTaskFilter.setStatusFilterDropDown('All');
await editTaskFilter.clearAssignee();
await editTaskFilter.setOwner(testUser.username);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await taskList.checkContentIsDisplayedByName(notAssigned.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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await editTaskFilter.setLastModifiedFrom(beforeDate);
await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await editTaskFilter.setLastModifiedFrom(afterDate);
await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name);
await editTaskFilter.setLastModifiedFrom(currentDate);
await editTaskFilter.setTaskName(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 () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await editTaskFilter.setLastModifiedTo(afterDate);
await taskList.checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
await editTaskFilter.setLastModifiedTo(beforeDate);
await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name);
await editTaskFilter.setLastModifiedTo(currentDate);
await editTaskFilter.setTaskName(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 ' +
'and into lastModifiedTo a date before task due date', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await editTaskFilter.setLastModifiedFrom(beforeDate);
await editTaskFilter.setLastModifiedTo(beforeDate);
await editTaskFilter.setTaskName(createdTask.entry.name);
await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' +
'and into lastModifiedTo a date after', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await editTaskFilter.setLastModifiedFrom(beforeDate);
await editTaskFilter.setLastModifiedTo(afterDate);
await editTaskFilter.setTaskName(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 ' +
'and into lastModifiedTo a date after', async () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
await editTaskFilter.setLastModifiedFrom(afterDate);
await editTaskFilter.setLastModifiedTo(afterDate);
await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
});
});

View File

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

View File

@@ -24,7 +24,7 @@ import {
LocalStorageUtil,
LoginPage,
ProcessDefinitionsService,
ProcessInstancesService,
ProcessInstancesService, StatusType,
TaskFormCloudComponent,
TaskHeaderCloudPage
} from '@alfresco/adf-testing';
@@ -40,7 +40,11 @@ describe('Task claim/release', () => {
const loginSSOPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
const taskList = tasksCloudDemoPage.taskListCloudComponent();
const taskHeaderCloudPage = new TaskHeaderCloudPage();
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 () => {
await setTaskFilter('CREATED', processInstance.id);
await setTaskFilter('Created', processInstance.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.candidateUserTask);
await taskList.checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask);
await taskList.selectRow(candidateApp.tasks.candidateUserTask);
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 () => {
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 tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask);
await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask);
await taskList.selectRow(candidateApp.tasks.uploadFileTask);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
await taskFormCloudComponent.checkClaimButtonIsDisplayed();
@@ -154,10 +158,10 @@ describe('Task claim/release', () => {
await navigationBarPage.clickLogoutButton();
await navigateToApp(candidate);
await setTaskFilter('CREATED', processInstance.id);
await setTaskFilter('Created', processInstance.id);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask);
await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask);
await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask);
await taskList.selectRow(candidateApp.tasks.uploadFileTask);
await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed();
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 LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration));
await navigationBarPage.navigateToProcessServicesCloudPage();
@@ -191,15 +195,15 @@ describe('Task claim/release', () => {
await appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(candidateApp.name);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
await taskList.getDataTable().waitForTableBody();
}
async function setTaskFilter(status, processInstanceId) {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown(status);
async function setTaskFilter(status: StatusType, processInstanceId: string) {
await editTaskFilter.openFilter();
await editTaskFilter.clearAssignee();
await editTaskFilter.setStatusFilterDropDown(status);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstanceId);
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await editTaskFilter.setProcessInstanceId(processInstanceId);
await editTaskFilter.openFilter();
}
});

View File

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