From a52b560171c7da1b65c8cf5db223527d85af692c Mon Sep 17 00:00:00 2001 From: cristinaj Date: Tue, 25 Sep 2018 23:42:17 +0300 Subject: [PATCH] =?UTF-8?q?[ADF-3584][ADF-3583]Add=20tests=20for=20Process?= =?UTF-8?q?=20Filters=20and=20Task=20Filters=20ic=E2=80=A6=20(#3821)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ADF-3584][ADF-3583]Add tests for Process Filters and Task Filters icons. * Rename tests * Fixing a test --- e2e/pages/adf/core/toggleState.js | 8 +- e2e/pages/adf/dialog/uploadToggles.js | 12 +- ...etailsToggles.js => appSettingsToggles.js} | 26 +++- .../process_services/processFiltersPage.js | 15 +++ .../adf/process_services/taskDetailsPage.js | 8 +- .../adf/process_services/taskFiltersPage.js | 15 +++ .../custom_process_filters.e2e.ts | 111 +++++++++++++++++- .../start_task_custom_app.e2e.ts | 4 +- .../start_task_task_app.e2e.ts | 4 +- .../task_filters_component.e2e.ts | 81 +++++++++++++ 10 files changed, 259 insertions(+), 25 deletions(-) rename e2e/pages/adf/process_services/dialog/{taskDetailsToggles.js => appSettingsToggles.js} (56%) diff --git a/e2e/pages/adf/core/toggleState.js b/e2e/pages/adf/core/toggleState.js index 4487f8dcb3..122970e5c3 100644 --- a/e2e/pages/adf/core/toggleState.js +++ b/e2e/pages/adf/core/toggleState.js @@ -24,10 +24,12 @@ var ToggleState = function () { this.enableToggle = function (toggle) { Util.waitUntilElementIsVisible(toggle); Util.waitUntilElementIsPresent(toggle); - var finalToggleButton = toggle.element(toggleButton); - finalToggleButton.getAttribute('class').then(function (value) { + toggle.getAttribute('class').then(function (value) { + Util.waitUntilElementIsVisible(toggle); + Util.waitUntilElementIsPresent(toggle); + Util.waitUntilElementIsClickable(toggle); if (value.indexOf('mat-checked')===-1) { - finalToggleButton.click(); + toggle.click(); } }); return this; diff --git a/e2e/pages/adf/dialog/uploadToggles.js b/e2e/pages/adf/dialog/uploadToggles.js index 95b0bef3d5..8280ff3261 100644 --- a/e2e/pages/adf/dialog/uploadToggles.js +++ b/e2e/pages/adf/dialog/uploadToggles.js @@ -22,7 +22,6 @@ var UploadToggles = function () { var toggleState = new ToggleState(); - var toggleButton = by.xpath("ancestor::mat-slide-toggle"); var multipleFileUploadToggle = element(by.cssContainingText("span[class*='toggle-content']", "Multiple File Upload")); var uploadFolderToggle = element(by.cssContainingText("span[class*='toggle-content']", "Folder upload")); var extensionFilterToggle = element(by.cssContainingText("span[class*='toggle-content']", "Custom extensions filter")); @@ -31,9 +30,10 @@ var UploadToggles = function () { var extensionAcceptedField = element(by.css("input[data-automation-id='accepted-files-type']")); var maxSizeField = element(by.css("input[data-automation-id='max-files-size']")); var disableUploadCheckbox = element(by.css("[id='adf-disable-upload']")); + var ancestorToggle = by.xpath("ancestor::mat-slide-toggle"); this.enableMultipleFileUpload = function () { - toggleState.enableToggle(multipleFileUploadToggle); + toggleState.enableToggle(multipleFileUploadToggle.element(ancestorToggle)); return this; }; @@ -43,7 +43,7 @@ var UploadToggles = function () { }; this.enableFolderUpload = function () { - toggleState.enableToggle(uploadFolderToggle); + toggleState.enableToggle(uploadFolderToggle.element(ancestorToggle)); return this; }; @@ -53,7 +53,7 @@ var UploadToggles = function () { }; this.enableExtensionFilter = function () { - toggleState.enableToggle(extensionFilterToggle); + toggleState.enableToggle(extensionFilterToggle.element(ancestorToggle)); return this; }; @@ -63,7 +63,7 @@ var UploadToggles = function () { }; this.enableMaxSize = function () { - toggleState.enableToggle(maxSizeToggle); + toggleState.enableToggle(maxSizeToggle.element(ancestorToggle)); return this; }; @@ -73,7 +73,7 @@ var UploadToggles = function () { }; this.enableVersioning = function () { - toggleState.enableToggle(versioningToggle); + toggleState.enableToggle(versioningToggle.element(ancestorToggle)); return this; }; diff --git a/e2e/pages/adf/process_services/dialog/taskDetailsToggles.js b/e2e/pages/adf/process_services/dialog/appSettingsToggles.js similarity index 56% rename from e2e/pages/adf/process_services/dialog/taskDetailsToggles.js rename to e2e/pages/adf/process_services/dialog/appSettingsToggles.js index 356ff28e0b..da5ec3a996 100644 --- a/e2e/pages/adf/process_services/dialog/taskDetailsToggles.js +++ b/e2e/pages/adf/process_services/dialog/appSettingsToggles.js @@ -17,11 +17,13 @@ var ToggleState = require('../../core/toggleState'); -var TaskDetailsToggles = function () { +var AppSettingsToggles = function () { var toggleState = new ToggleState(); var showDetailsHeaderToggle = element(by.id('adf-show-header-input')); + var showTaskFilterIconsToggle = element(by.id('adf-show-task-filter-icon')); + var showProcessFilterIconsToggle = element(by.id('adf-show-process-filter-icon')); this.enableShowHeader = function () { toggleState.enableToggle(showDetailsHeaderToggle); @@ -33,7 +35,27 @@ var TaskDetailsToggles = function () { return this; }; + this.enableTaskFiltersIcon = function () { + toggleState.enableToggle(showTaskFilterIconsToggle); + return this; + }; + + this.disableTaskFiltersIcon = function () { + toggleState.disableToggle(showTaskFilterIconsToggle); + return this; + }; + + this.enableProcessFiltersIcon = function () { + toggleState.enableToggle(showProcessFilterIconsToggle); + return this; + }; + + this.disableProcessFiltersIcon = function () { + toggleState.disableToggle(showProcessFilterIconsToggle); + return this; + }; + }; -module.exports = TaskDetailsToggles; +module.exports = AppSettingsToggles; diff --git a/e2e/pages/adf/process_services/processFiltersPage.js b/e2e/pages/adf/process_services/processFiltersPage.js index b0bcc8d41f..5f3a115729 100644 --- a/e2e/pages/adf/process_services/processFiltersPage.js +++ b/e2e/pages/adf/process_services/processFiltersPage.js @@ -34,6 +34,7 @@ var ProcessFiltersPage = function () { var tableBody = element.all(by.css("adf-datatable div[class='adf-datatable-body']")).first(); var contentList = new ContentList(); var nameColumn = by.css("div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='Name'] span"); + var processIcon = by.xpath("ancestor::div[@class='mat-list-item-content']/mat-icon"); this.startProcess = function () { this.clickCreateProcessButton(); @@ -116,6 +117,20 @@ var ProcessFiltersPage = function () { return Util.waitUntilElementIsVisible(filterName); }; + this.checkFilterHasNoIcon = function(name) { + var filterName = element(by.css("span[data-automation-id='" + name + "_filter']")); + Util.waitUntilElementIsVisible(filterName); + return Util.waitUntilElementIsNotOnPage(filterName.element(processIcon)); + }; + + this.getFilterIcon = function (name) { + var filterName = element(by.css("span[data-automation-id='" + name + "_filter']")); + Util.waitUntilElementIsVisible(filterName); + var icon = filterName.element(processIcon); + Util.waitUntilElementIsVisible(icon); + return icon.getText(); + }; + this.checkFilterIsNotDisplayed = function (name) { var filterName = element(by.css("span[data-automation-id='" + name + "_filter']")); return Util.waitUntilElementIsNotVisible(filterName); diff --git a/e2e/pages/adf/process_services/taskDetailsPage.js b/e2e/pages/adf/process_services/taskDetailsPage.js index 5a7f961d9f..d34b24e5df 100644 --- a/e2e/pages/adf/process_services/taskDetailsPage.js +++ b/e2e/pages/adf/process_services/taskDetailsPage.js @@ -16,7 +16,7 @@ */ var Util = require('../../../util/util'); -var TaskDetailsToggles = require('./dialog/taskDetailsToggles'); +var AppSettingsToggles = require('./dialog/appSettingsToggles'); var TaskDetailsPage = function () { @@ -63,7 +63,7 @@ var TaskDetailsPage = function () { Util.waitUntilElementIsVisible(taskDetailsTitle); return taskDetailsTitle.getText(); }; - + this.checkSelectedForm = function (formName) { Util.waitUntilElementIsVisible(attachFormName); expect(formName).toEqual(attachFormName.getText()); @@ -290,8 +290,8 @@ var TaskDetailsPage = function () { auditLogButton.click(); }; - this.usingTaskDetailsToggles = function () { - return new TaskDetailsToggles(); + this.usingAppSettingsToggles = function () { + return new AppSettingsToggles(); }; this.taskInfoDrawerIsDisplayed = function () { diff --git a/e2e/pages/adf/process_services/taskFiltersPage.js b/e2e/pages/adf/process_services/taskFiltersPage.js index 65809339e7..6526b7e87e 100644 --- a/e2e/pages/adf/process_services/taskFiltersPage.js +++ b/e2e/pages/adf/process_services/taskFiltersPage.js @@ -30,6 +30,7 @@ var TaskFiltersPage = function () { var activeFilter = element(by.css("mat-list-item[class*='active']")); var emptyTaskList = element(by.css('p[class="adf-empty-content__title"]')); var emptyTaskDetails = element(by.css('adf-task-details > div > div')); + var taskIcon = by.xpath("ancestor::div[@class='mat-list-item-content']/mat-icon"); this.checkTaskFilterDisplayed = function(name) { var customTask = element(by.css(`span[data-automation-id="${name}_filter"]`)); @@ -37,6 +38,20 @@ var TaskFiltersPage = function () { return customTask; }; + this.getTaskFilterIcon = function(name) { + var customTask = element(by.css(`span[data-automation-id="${name}_filter"]`)); + Util.waitUntilElementIsVisible(customTask); + var icon = customTask.element(taskIcon); + Util.waitUntilElementIsVisible(icon); + return icon.getText(); + }; + + this.checkTaskFilterHasNoIcon = function(name) { + var customTask = element(by.css(`span[data-automation-id="${name}_filter"]`)); + Util.waitUntilElementIsVisible(customTask); + Util.waitUntilElementIsNotOnPage(customTask.element(taskIcon)); + }; + this.clickTaskFilter = function(name) { var customTask = element(by.css(`span[data-automation-id="${name}_filter"]`)); Util.waitUntilElementIsVisible(customTask); diff --git a/e2e/process-services/custom_process_filters.e2e.ts b/e2e/process-services/custom_process_filters.e2e.ts index 6b262d7a06..1d4ee3ee7e 100644 --- a/e2e/process-services/custom_process_filters.e2e.ts +++ b/e2e/process-services/custom_process_filters.e2e.ts @@ -20,6 +20,8 @@ import { browser } from 'protractor'; import LoginPage = require('../pages/adf/loginPage'); import ProcessServicesPage = require('../pages/adf/process_services/processServicesPage'); import ProcessFiltersPage = require('../pages/adf/process_services/processFiltersPage.js'); +import AppNavigationBarPage = require('../pages/adf/process_services/appNavigationBarPage'); +import AppSettingsToggles = require('../pages/adf/process_services/dialog/appSettingsToggles'); import TestConfig = require('../test.config'); @@ -31,6 +33,8 @@ describe('New Process Filters', () => { let loginPage = new LoginPage(); let processServicesPage = new ProcessServicesPage(); let processFiltersPage = new ProcessFiltersPage(); + let appNavigationBarPage = new AppNavigationBarPage(); + let appSettingsToggles = new AppSettingsToggles(); let tenantId, user, filterId, customProcessFilter; @@ -39,7 +43,10 @@ describe('New Process Filters', () => { all: 'All', completed: 'Completed', new_filter: 'New Filter', - edited: 'Edited Filter' + edited: 'Edited Filter', + new_icon: 'New icon', + edit_icon: 'Edit icon', + deleted: 'To delete' }; beforeAll(async(done) => { @@ -104,6 +111,33 @@ describe('New Process Filters', () => { processFiltersPage.checkFilterIsDisplayed(processFilter.new_filter); }); + it('[C286450] Should display the process filter icon when a custom filter is added', () => { + browser.controlFlow().execute(async () => { + customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({ + 'appId': null, + 'name': processFilter.new_icon, + 'icon': 'glyphicon-cloud', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + }); + + filterId = customProcessFilter.id; + + return customProcessFilter; + }); + + loginPage.loginToProcessServicesUsingUserModel(user); + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon); + + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableProcessFiltersIcon(); + appNavigationBarPage.clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon); + expect(processFiltersPage.getFilterIcon(processFilter.new_icon)).toEqual('cloud'); + }); + it('[C260474] Should be able to edit a filter on APS and check it on ADF', () => { browser.controlFlow().execute(() => { return this.alfrescoJsApi.activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, { @@ -124,19 +158,84 @@ describe('New Process Filters', () => { processFiltersPage.checkFilterIsDisplayed(processFilter.edited); }); + it('[C286451] Should display changes on a process filter when this filter icon is edited', () => { + browser.controlFlow().execute(async () => { + customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({ + 'appId': null, + 'name': processFilter.edit_icon, + 'icon': 'glyphicon-random', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + }); + + filterId = customProcessFilter.id; + + return customProcessFilter; + }); + + loginPage.loginToProcessServicesUsingUserModel(user); + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon); + + browser.controlFlow().execute(() => { + return this.alfrescoJsApi.activiti.userFiltersApi.updateUserProcessInstanceFilter(filterId, { + 'appId': null, + 'name': processFilter.edit_icon, + 'icon': 'glyphicon-cloud', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + }); + }); + + loginPage.loginToProcessServicesUsingUserModel(user); + + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon); + + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableProcessFiltersIcon(); + appNavigationBarPage.clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon); + expect(processFiltersPage.getFilterIcon(processFilter.edit_icon)).toEqual('cloud'); + }); + + it('[C286452] Should display process filter icons only when showIcon property is set on true', () => { + loginPage.loginToProcessServicesUsingUserModel(user); + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); + processFiltersPage.checkFilterHasNoIcon(processFilter.all); + + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableProcessFiltersIcon(); + appNavigationBarPage.clickProcessButton(); + + processFiltersPage.checkFilterIsDisplayed(processFilter.all); + expect(processFiltersPage.getFilterIcon(processFilter.all)).toEqual('dashboard'); + }); + it('[C260475] Should be able to delete a filter on APS and check it on ADF', () => { + browser.controlFlow().execute(async () => { + customProcessFilter = await this.alfrescoJsApi.activiti.userFiltersApi.createUserProcessInstanceFilter({ + 'appId': null, + 'name': processFilter.deleted, + 'icon': 'glyphicon-random', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + }); + + filterId = customProcessFilter.id; + + return customProcessFilter; + }); + browser.controlFlow().execute(() => { return this.alfrescoJsApi.activiti.userFiltersApi.deleteUserProcessInstanceFilter(filterId); }); loginPage.loginToProcessServicesUsingUserModel(user); - processServicesPage - .goToProcessServices() - .goToTaskApp() - .clickProcessButton(); + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); - processFiltersPage.checkFilterIsNotDisplayed(processFilter.edited); + processFiltersPage.checkFilterIsNotDisplayed(processFilter.deleted); }); }); diff --git a/e2e/process-services/start_task_custom_app.e2e.ts b/e2e/process-services/start_task_custom_app.e2e.ts index b0fe86d0fb..1793ad108d 100644 --- a/e2e/process-services/start_task_custom_app.e2e.ts +++ b/e2e/process-services/start_task_custom_app.e2e.ts @@ -218,13 +218,13 @@ describe('Start Task - Custom App', () => { taskPage.usingTasksListPage().checkTaskIsDisplayedInTasksList(showHeaderTask).selectTaskFromTasksList(showHeaderTask); appNavigationBarPage.clickSettingsButton(); - taskPage.usingTaskDetails().usingTaskDetailsToggles().disableShowHeader(); + taskPage.usingTaskDetails().usingAppSettingsToggles().disableShowHeader(); appNavigationBarPage.clickTasksButton(); taskPage.usingTaskDetails().taskInfoDrawerIsNotDisplayed(); appNavigationBarPage.clickSettingsButton(); - taskPage.usingTaskDetails().usingTaskDetailsToggles().enableShowHeader(); + taskPage.usingTaskDetails().usingAppSettingsToggles().enableShowHeader(); appNavigationBarPage.clickTasksButton(); taskPage.usingTaskDetails().taskInfoDrawerIsDisplayed(); diff --git a/e2e/process-services/start_task_task_app.e2e.ts b/e2e/process-services/start_task_task_app.e2e.ts index 61fa429944..316cca5b31 100644 --- a/e2e/process-services/start_task_task_app.e2e.ts +++ b/e2e/process-services/start_task_task_app.e2e.ts @@ -220,13 +220,13 @@ describe('Start Task - Task App', () => { taskPage.usingTasksListPage().checkTaskIsDisplayedInTasksList(showHeaderTask).selectTaskFromTasksList(showHeaderTask); appNavigationBarPage.clickSettingsButton(); - taskPage.usingTaskDetails().usingTaskDetailsToggles().disableShowHeader(); + taskPage.usingTaskDetails().usingAppSettingsToggles().disableShowHeader(); appNavigationBarPage.clickTasksButton(); taskPage.usingTaskDetails().taskInfoDrawerIsNotDisplayed(); appNavigationBarPage.clickSettingsButton(); - taskPage.usingTaskDetails().usingTaskDetailsToggles().enableShowHeader(); + taskPage.usingTaskDetails().usingAppSettingsToggles().enableShowHeader(); appNavigationBarPage.clickTasksButton(); taskPage.usingTaskDetails().taskInfoDrawerIsDisplayed(); diff --git a/e2e/process-services/task_filters_component.e2e.ts b/e2e/process-services/task_filters_component.e2e.ts index fab07b502f..1767d51bc4 100644 --- a/e2e/process-services/task_filters_component.e2e.ts +++ b/e2e/process-services/task_filters_component.e2e.ts @@ -25,6 +25,8 @@ import TasksPage = require('../pages/adf/process_services/tasksPage'); import TasksListPage = require('../pages/adf/process_services/tasksListPage'); import TaskFiltersPage = require('../pages/adf/process_services/taskFiltersPage'); import TaskDetailsPage = require('../pages/adf/process_services/taskDetailsPage'); +import AppNavigationBarPage = require('../pages/adf/process_services/appNavigationBarPage'); +import AppSettingsToggles = require('../pages/adf/process_services/dialog/appSettingsToggles'); import AlfrescoApi = require('alfresco-js-api-node'); import { AppsActions } from '../actions/APS/apps.actions'; @@ -223,6 +225,8 @@ describe('Custom Filters Test', () => { let tasksListPage = new TasksListPage(); let taskFiltersPage = new TaskFiltersPage(); let taskDetailsPage = new TaskDetailsPage(); + let appNavigationBarPage = new AppNavigationBarPage(); + let appSettingsToggles = new AppSettingsToggles(); let tenantId; let user; @@ -297,6 +301,45 @@ describe('Custom Filters Test', () => { }); }); + it('[C286447] Should display the task filter icon when a custom filter is added', () => { + browser.controlFlow().execute(async () => { + let newFilter = new this.alfrescoJsApi.activiti.UserProcessInstanceFilterRepresentation(); + newFilter.name = 'New Task Filter with icon'; + newFilter.appId = appId; + newFilter.icon = 'glyphicon-cloud'; + newFilter.filter = { sort: 'created-desc', state: 'completed', assignment: 'involved' }; + + let result = await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter); + + taskFilterId = result.id; + return result; + }); + + browser.refresh(); + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableTaskFiltersIcon(); + appNavigationBarPage.clickTasksButton(); + + taskFiltersPage.checkTaskFilterDisplayed('New Task Filter with icon'); + expect(taskFiltersPage.getTaskFilterIcon('New Task Filter with icon')).toEqual('cloud'); + + browser.controlFlow().execute(() => { + let result = this.alfrescoJsApi.activiti.userFiltersApi.deleteUserTaskFilter(taskFilterId); + return result; + }); + }); + + it('[C286449] Should display task filter icons only when showIcon property is set on true', () => { + taskFiltersPage.checkTaskFilterHasNoIcon('My Tasks'); + + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableTaskFiltersIcon(); + appNavigationBarPage.clickTasksButton(); + + taskFiltersPage.checkTaskFilterDisplayed('My Tasks'); + expect(taskFiltersPage.getTaskFilterIcon('My Tasks')).toEqual('inbox'); + }); + it('[C260353] Should display changes on a filter when this filter is edited', () => { browser.controlFlow().execute(async () => { let newFilter = new this.alfrescoJsApi.activiti.UserProcessInstanceFilterRepresentation(); @@ -336,6 +379,44 @@ describe('Custom Filters Test', () => { }); }); + it('[C286448] Should display changes on a task filter when this filter icon is edited', () => { + browser.controlFlow().execute(async () => { + let newFilter = new this.alfrescoJsApi.activiti.UserProcessInstanceFilterRepresentation(); + newFilter.name = 'Task Filter Edited icon'; + newFilter.appId = appId; + newFilter.icon = 'glyphicon-filter'; + newFilter.filter = { sort: 'created-desc', state: 'completed', assignment: 'involved' }; + + let result = await this.alfrescoJsApi.activiti.userFiltersApi.createUserTaskFilter(newFilter); + + taskFilterId = result.id; + return result; + }); + + browser.refresh(); + + taskFiltersPage.checkTaskFilterDisplayed('Task Filter Edited icon'); + + browser.controlFlow().execute(() => { + let newFilter = new this.alfrescoJsApi.activiti.UserProcessInstanceFilterRepresentation(); + newFilter.name = 'Task Filter Edited icon'; + newFilter.appId = appId; + newFilter.icon = 'glyphicon-cloud'; + newFilter.filter = { sort: 'created-desc', state: 'completed', assignment: 'involved' }; + + let result = this.alfrescoJsApi.activiti.userFiltersApi.updateUserTaskFilter(taskFilterId, newFilter); + return result; + }); + + browser.refresh(); + appNavigationBarPage.clickSettingsButton(); + appSettingsToggles.enableTaskFiltersIcon(); + appNavigationBarPage.clickTasksButton(); + + taskFiltersPage.checkTaskFilterDisplayed('Task Filter Edited icon'); + expect(taskFiltersPage.getTaskFilterIcon('Task Filter Edited icon')).toEqual('cloud'); + }); + it('[C260354] Should not display task filter when this filter is deleted', () => { browser.controlFlow().execute(async () => { let newFilter = new this.alfrescoJsApi.activiti.UserProcessInstanceFilterRepresentation();