mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
[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:
committed by
Eugenio Romano
parent
1abb9bfc89
commit
677de028a2
@@ -45,6 +45,7 @@ export class ProcessDetailsPage {
|
|||||||
cancelProcessButton = element(by.css('div[data-automation-id="header-status"] > button'));
|
cancelProcessButton = element(by.css('div[data-automation-id="header-status"] > button'));
|
||||||
// Tasks
|
// Tasks
|
||||||
activeTask = element(by.css('div[data-automation-id="active-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"]'));
|
completedTask = element(by.css('div[data-automation-id="completed-tasks"]'));
|
||||||
taskTitle = element(by.css('h2[class="adf-activiti-task-details__header"]'));
|
taskTitle = element(by.css('h2[class="adf-activiti-task-details__header"]'));
|
||||||
|
|
||||||
@@ -141,6 +142,10 @@ export class ProcessDetailsPage {
|
|||||||
return BrowserActions.click(this.activeTask);
|
return BrowserActions.click(this.activeTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clickOnStartForm() {
|
||||||
|
return BrowserActions.click(this.startForm);
|
||||||
|
}
|
||||||
|
|
||||||
clickOnCompletedTask() {
|
clickOnCompletedTask() {
|
||||||
return BrowserActions.click(this.completedTask);
|
return BrowserActions.click(this.completedTask);
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { by, element, Key, protractor, browser } from 'protractor';
|
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 {
|
export class StartProcessPage {
|
||||||
|
|
||||||
@@ -120,6 +120,10 @@ export class StartProcessPage {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkStartFormProcessButtonIsEnabled() {
|
||||||
|
expect(this.formStartProcessButton.isEnabled()).toBe(true);
|
||||||
|
}
|
||||||
|
|
||||||
checkStartProcessButtonIsEnabled() {
|
checkStartProcessButtonIsEnabled() {
|
||||||
expect(this.startProcessButton.isEnabled()).toBe(true);
|
expect(this.startProcessButton.isEnabled()).toBe(true);
|
||||||
}
|
}
|
||||||
@@ -160,4 +164,8 @@ export class StartProcessPage {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
formFields() {
|
||||||
|
return new FormFields();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
import { Util } from '../util/util';
|
import { Util } from '../util/util';
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
import CONSTANTS = require('../util/constants');
|
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 { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
|
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
|
||||||
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
||||||
@@ -49,10 +49,13 @@ describe('Start Process Component', () => {
|
|||||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||||
const processDetailsPage = new ProcessDetailsPage();
|
const processDetailsPage = new ProcessDetailsPage();
|
||||||
const attachmentListPage = new AttachmentListPage();
|
const attachmentListPage = new AttachmentListPage();
|
||||||
|
const startProcessDialog = new StartProcessDialog();
|
||||||
const apps = new AppsActions();
|
const apps = new AppsActions();
|
||||||
|
const widget = new Widget();
|
||||||
const app = resources.Files.APP_WITH_PROCESSES;
|
const app = resources.Files.APP_WITH_PROCESSES;
|
||||||
const simpleApp = resources.Files.WIDGETS_SMOKE_TEST;
|
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 processModelWithSe = 'process_with_se', processModelWithoutSe = 'process_without_se';
|
||||||
const processName255Characters = StringUtil.generateRandomString(255);
|
const processName255Characters = StringUtil.generateRandomString(255);
|
||||||
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
|
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
|
||||||
@@ -93,6 +96,8 @@ describe('Start Process Component', () => {
|
|||||||
|
|
||||||
simpleAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, simpleApp.file_location);
|
simpleAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, simpleApp.file_location);
|
||||||
|
|
||||||
|
dateFormAppCreated = await apps.importPublishDeployApp(this.alfrescoJsApiUserTwo, dateFormApp.file_location);
|
||||||
|
|
||||||
appId = appCreated.id;
|
appId = appCreated.id;
|
||||||
|
|
||||||
done();
|
done();
|
||||||
@@ -104,6 +109,8 @@ describe('Start Process Component', () => {
|
|||||||
|
|
||||||
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(simpleAppCreated.id);
|
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(simpleAppCreated.id);
|
||||||
|
|
||||||
|
await this.alfrescoJsApiUserTwo.activiti.modelsApi.deleteModel(dateFormAppCreated.id);
|
||||||
|
|
||||||
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
|
||||||
|
|
||||||
done();
|
done();
|
||||||
@@ -445,5 +452,26 @@ describe('Start Process Component', () => {
|
|||||||
startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
|
startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
|
||||||
startProcessPage.checkStartProcessButtonIsDisabled();
|
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();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
<span class="adf-activiti-label">{{ 'ADF_PROCESS_LIST.DETAILS.LABELS.START_FORM'|translate }}</span>
|
<span class="adf-activiti-label">{{ 'ADF_PROCESS_LIST.DETAILS.LABELS.START_FORM'|translate }}</span>
|
||||||
|
|
||||||
<!--IF START TASK COMPLETED -->
|
<!--IF START TASK COMPLETED -->
|
||||||
<div class="menu-container">
|
<div class="menu-container" data-automation-id="start-form">
|
||||||
<mat-list>
|
<mat-list>
|
||||||
<mat-list-item class="process-tasks__task-item" (click)="clickStartTask()">
|
<mat-list-item class="process-tasks__task-item" (click)="clickStartTask()">
|
||||||
<mat-icon mat-list-icon>assignment</mat-icon>
|
<mat-icon mat-list-icon>assignment</mat-icon>
|
||||||
|
@@ -41,6 +41,10 @@ export class DateWidget {
|
|||||||
return this.formFields.setValueInInputById(fieldId, value);
|
return this.formFields.setValueInInputById(fieldId, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDateInput(fieldId) {
|
||||||
|
return this.formFields.getFieldValue(fieldId);
|
||||||
|
}
|
||||||
|
|
||||||
clearDateInput(fieldId) {
|
clearDateInput(fieldId) {
|
||||||
const dateInput = element(by.id(fieldId));
|
const dateInput = element(by.id(fieldId));
|
||||||
BrowserVisibility.waitUntilElementIsVisible(dateInput);
|
BrowserVisibility.waitUntilElementIsVisible(dateInput);
|
||||||
|
@@ -16,3 +16,4 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export * from './form-fields.page';
|
export * from './form-fields.page';
|
||||||
|
export * from './start-process-dialog.page';
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user