[ADF-4682]The Date is not saved correctly on Process-services form (#4940)

* test added to check the date saved in the process form in APS1

* C261039 e2e test added.
This commit is contained in:
Geeta Mandakini Ayyalasomayajula
2019-07-16 16:57:59 +01:00
committed by Eugenio Romano
parent 1abb9bfc89
commit 677de028a2
7 changed files with 93 additions and 4 deletions

View File

@@ -45,6 +45,7 @@ export class ProcessDetailsPage {
cancelProcessButton = element(by.css('div[data-automation-id="header-status"] > button'));
// Tasks
activeTask = element(by.css('div[data-automation-id="active-tasks"]'));
startForm = element(by.css('div[data-automation-id="start-form"]'));
completedTask = element(by.css('div[data-automation-id="completed-tasks"]'));
taskTitle = element(by.css('h2[class="adf-activiti-task-details__header"]'));
@@ -141,6 +142,10 @@ export class ProcessDetailsPage {
return BrowserActions.click(this.activeTask);
}
clickOnStartForm() {
return BrowserActions.click(this.startForm);
}
clickOnCompletedTask() {
return BrowserActions.click(this.completedTask);
}

View File

@@ -16,7 +16,7 @@
*/
import { by, element, Key, protractor, browser } from 'protractor';
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
import { BrowserVisibility, BrowserActions, FormFields } from '@alfresco/adf-testing';
export class StartProcessPage {
@@ -120,6 +120,10 @@ export class StartProcessPage {
}
checkStartFormProcessButtonIsEnabled() {
expect(this.formStartProcessButton.isEnabled()).toBe(true);
}
checkStartProcessButtonIsEnabled() {
expect(this.startProcessButton.isEnabled()).toBe(true);
}
@@ -160,4 +164,8 @@ export class StartProcessPage {
}
});
}
formFields() {
return new FormFields();
}
}

View File

@@ -18,7 +18,7 @@
import { Util } from '../util/util';
import resources = require('../util/resources');
import CONSTANTS = require('../util/constants');
import { LoginPage } from '@alfresco/adf-testing';
import { LoginPage, StartProcessDialog, Widget } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
@@ -49,10 +49,13 @@ describe('Start Process Component', () => {
const processServiceTabBarPage = new ProcessServiceTabBarPage();
const processDetailsPage = new ProcessDetailsPage();
const attachmentListPage = new AttachmentListPage();
const startProcessDialog = new StartProcessDialog();
const apps = new AppsActions();
const widget = new Widget();
const app = resources.Files.APP_WITH_PROCESSES;
const simpleApp = resources.Files.WIDGETS_SMOKE_TEST;
let appId, procUserModel, secondProcUserModel, tenantId, simpleAppCreated;
const dateFormApp = resources.Files.APP_WITH_DATE_FIELD_FORM;
let appId, procUserModel, secondProcUserModel, tenantId, simpleAppCreated, dateFormAppCreated;
const processModelWithSe = 'process_with_se', processModelWithoutSe = 'process_without_se';
const processName255Characters = StringUtil.generateRandomString(255);
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
@@ -93,6 +96,8 @@ describe('Start Process Component', () => {
simpleAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, simpleApp.file_location);
dateFormAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, dateFormApp.file_location);
appId = appCreated.id;
done();
@@ -104,6 +109,8 @@ describe('Start Process Component', () => {
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(simpleAppCreated.id);
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(dateFormAppCreated.id);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
done();
@@ -445,5 +452,26 @@ describe('Start Process Component', () => {
startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
startProcessPage.checkStartProcessButtonIsDisabled();
});
it('[C261039] Advanced date time widget', () => {
processServicesPage.goToApp(dateFormApp.title);
processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('DateFormProcess');
startProcessPage.formFields().checkWidgetIsVisible('testdate');
widget.dateWidget().setDateInput('testdate', '15-7-2019');
startProcessPage.checkStartFormProcessButtonIsEnabled();
startProcessPage.clickFormStartProcessButton();
processFiltersPage.clickRunningFilterButton();
processFiltersPage.selectFromProcessList('DateFormProcess');
processDetailsPage.clickOnStartForm();
startProcessDialog.checkStartProcessDialogIsDisplayed();
expect(startProcessDialog.getTitle()).toBe('Start Form');
expect(widget.dateWidget().getDateInput('testdate')).toBe('15-7-2019');
startProcessDialog.clickCloseButton();
startProcessDialog.checkStartProcessDialogIsNotDisplayed();
});
});
});

View File

@@ -33,7 +33,7 @@
<span class="adf-activiti-label">{{ 'ADF_PROCESS_LIST.DETAILS.LABELS.START_FORM'|translate }}</span>
<!--IF START TASK COMPLETED -->
<div class="menu-container">
<div class="menu-container" data-automation-id="start-form">
<mat-list>
<mat-list-item class="process-tasks__task-item" (click)="clickStartTask()">
<mat-icon mat-list-icon>assignment</mat-icon>

View File

@@ -41,6 +41,10 @@ export class DateWidget {
return this.formFields.setValueInInputById(fieldId, value);
}
getDateInput(fieldId) {
return this.formFields.getFieldValue(fieldId);
}
clearDateInput(fieldId) {
const dateInput = element(by.id(fieldId));
BrowserVisibility.waitUntilElementIsVisible(dateInput);

View File

@@ -16,3 +16,4 @@
*/
export * from './form-fields.page';
export * from './start-process-dialog.page';

View File

@@ -0,0 +1,43 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { by, element } from 'protractor';
import { BrowserActions } from '../../core/utils/browser-actions';
export class StartProcessDialog {
startProcessDialog = element(by.id('adf-start-process-dialog'));
title = this.startProcessDialog.element(by.css('h4.mat-dialog-title'));
closeButton = this.startProcessDialog.element(by.cssContainingText(`div.adf-start-process-dialog-actions button span`, 'Close'));
checkStartProcessDialogIsDisplayed() {
return BrowserVisibility.waitUntilElementIsVisible(this.startProcessDialog);
}
getTitle() {
return BrowserActions.getText(this.title);
}
clickCloseButton() {
return BrowserActions.click(this.closeButton);
}
checkStartProcessDialogIsNotDisplayed() {
return BrowserVisibility.waitUntilElementIsNotVisible(this.startProcessDialog);
}
}