From 6a6e9f3b3923ff0eba4feed1269a9a3ebb94f5fa Mon Sep 17 00:00:00 2001 From: rgherghelas <39947234+rgherghelas@users.noreply.github.com> Date: Wed, 19 Dec 2018 13:15:24 +0200 Subject: [PATCH] [ADF-3282] Add tests for length validation process/task name (#4083) * add test for task name length validation * add test for process name length validation * add blur method * modify number of characters --- .../dialog/startTaskDialog.ts | 14 ++++++++++++- .../adf/process_services/startProcessPage.ts | 5 +++++ .../start_process_component.e2e.ts | 20 ++++++++++++++++++- .../start_task_task_app.e2e.ts | 12 +++++++++++ 4 files changed, 49 insertions(+), 2 deletions(-) diff --git a/e2e/pages/adf/process_services/dialog/startTaskDialog.ts b/e2e/pages/adf/process_services/dialog/startTaskDialog.ts index 4561011fc4..2648065004 100644 --- a/e2e/pages/adf/process_services/dialog/startTaskDialog.ts +++ b/e2e/pages/adf/process_services/dialog/startTaskDialog.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { element, by } from 'protractor'; +import { element, by, Key } from 'protractor'; import { Util } from '../../../../util/util'; export class StartTaskDialog { @@ -103,4 +103,16 @@ export class StartTaskDialog { Util.waitUntilElementIsClickable(this.cancelButton); return this.cancelButton.click(); } + + blur(locator) { + locator.click(); + locator.sendKeys(Key.TAB); + return this; + } + + checkValidationErrorIsDisplayed(error, elementRef = 'mat-error') { + const errorElement = element(by.cssContainingText(elementRef, error)); + Util.waitUntilElementIsVisible(errorElement); + return this; + } } diff --git a/e2e/pages/adf/process_services/startProcessPage.ts b/e2e/pages/adf/process_services/startProcessPage.ts index 88d031e0a4..2b15f6a398 100644 --- a/e2e/pages/adf/process_services/startProcessPage.ts +++ b/e2e/pages/adf/process_services/startProcessPage.ts @@ -145,4 +145,9 @@ export class StartProcessPage { return processPlaceholder; } + checkValidationErrorIsDisplayed(error, elementRef = 'mat-error') { + const errorElement = element(by.cssContainingText(elementRef, error)); + Util.waitUntilElementIsVisible(errorElement); + return this; + } } diff --git a/e2e/process-services/start_process_component.e2e.ts b/e2e/process-services/start_process_component.e2e.ts index aec8a4b310..e14dbbb60f 100644 --- a/e2e/process-services/start_process_component.e2e.ts +++ b/e2e/process-services/start_process_component.e2e.ts @@ -54,6 +54,9 @@ describe('Start Process Component', () => { let simpleApp = resources.Files.WIDGETS_SMOKE_TEST; let appId, procUserModel, secondProcUserModel, tenantId, simpleAppCreated; let processModelWithSe = 'process_with_se', processModelWithoutSe = 'process_without_se'; + const processName255Characters = Util.generateRandomString(255); + const processNameBiggerThen255Characters = Util.generateRandomString(256); + const lengthValidationError = 'Length exceeded, 255 characters max.'; let auditLogFile = path.join('../e2e/download/', 'Audit.pdf'); @@ -423,6 +426,21 @@ describe('Start Process Component', () => { attachmentListPage.checkAttachFileButtonIsNotDisplayed(); }); - }); + it('[C291781] Should be displayed an error message if process name exceed 255 characters', () => { + processServicesPage.goToApp(app.title); + appNavigationBarPage.clickProcessButton(); + + processFiltersPage.clickCreateProcessButton(); + processFiltersPage.clickNewProcessDropdown(); + + startProcessPage.enterProcessName(processName255Characters); + startProcessPage.selectFromProcessDropdown(processModelWithoutSe); + startProcessPage.checkStartProcessButtonIsEnabled(); + + startProcessPage.enterProcessName(processNameBiggerThen255Characters); + startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError); + startProcessPage.checkStartProcessButtonIsDisabled(); + }); + }); }); diff --git a/e2e/process-services/start_task_task_app.e2e.ts b/e2e/process-services/start_task_task_app.e2e.ts index fafccdebc2..364ec316cc 100644 --- a/e2e/process-services/start_task_task_app.e2e.ts +++ b/e2e/process-services/start_task_task_app.e2e.ts @@ -33,6 +33,7 @@ import resources = require('../util/resources'); import AlfrescoApi = require('alfresco-js-api-node'); import { UsersActions } from '../actions/users.actions'; +import { Util } from '../util/util'; import fs = require('fs'); import path = require('path'); @@ -49,6 +50,9 @@ describe('Start Task - Task App', () => { let formFieldValue = 'First value '; let taskPage = new TasksPage(); let firstComment = 'comm1', firstChecklist = 'checklist1'; + const taskName255Characters = Util.generateRandomString(255); + const taskNameBiggerThen255Characters = Util.generateRandomString(256); + const lengthValidationError = 'Length exceeded, 255 characters max.'; let tasks = ['Modifying task', 'Information box', 'No form', 'Not Created', 'Refreshing form', 'Assignee task', 'Attach File']; let showHeaderTask = 'Show Header'; let jpgFile = new FileModel({ @@ -184,4 +188,12 @@ describe('Start Task - Task App', () => { taskPage.tasksListPage().getDataTable().checkSpinnerIsDisplayed(); }); + it('[C291780] Should be displayed an error message if task name exceed 255 characters', () => { + navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); + taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); + const startDialog = taskPage.createNewTask().addName(taskName255Characters).checkStartButtonIsEnabled(); + startDialog.addName(taskNameBiggerThen255Characters).blur(startDialog.name).checkValidationErrorIsDisplayed(lengthValidationError).checkStartButtonIsDisabled(); + + }); + });