From 2d0b09f3e47f6f53d707dc7533d501c48b4e7273 Mon Sep 17 00:00:00 2001 From: Silviu Popa Date: Tue, 22 Sep 2020 14:14:37 +0300 Subject: [PATCH] [ACA-3722] - rename process name sort option (#5931) * [ACA-3722] - rename process name sort option * rework unit test * remove unnecesary property * fix e2e * PR changes * fix e2e * fix e2e * fix e2e Co-authored-by: Silviu Popa --- .../edit-process-filters-component.e2e.ts | 24 +++---- .../process-custom-filters.e2e.ts | 4 +- .../date-range-filter.component.html | 4 +- .../src/lib/i18n/en.json | 10 +-- .../edit-process-filter-cloud.component.html | 2 +- ...dit-process-filter-cloud.component.spec.ts | 27 ++++++- .../edit-process-filter-cloud.component.ts | 72 +++++++++++++++++-- .../models/process-filter-cloud.model.ts | 6 ++ 8 files changed, 122 insertions(+), 27 deletions(-) diff --git a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts index da05c36058..08c77bcd8c 100644 --- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts @@ -90,8 +90,8 @@ describe('Edit process filters cloud', () => { await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('StartDate'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate'); + await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed(); await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed(); @@ -113,7 +113,7 @@ describe('Edit process filters cloud', () => { 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('StartDate'); + 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(); @@ -131,8 +131,8 @@ describe('Edit process filters cloud', () => { await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); + await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Process Name'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); @@ -143,7 +143,7 @@ describe('Edit process filters cloud', () => { await browser.driver.sleep(1000); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); await browser.driver.sleep(1000); @@ -168,8 +168,8 @@ describe('Edit process filters cloud', () => { await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); + 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(); @@ -177,7 +177,7 @@ describe('Edit process filters cloud', () => { await browser.driver.sleep(1000); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); }); @@ -215,7 +215,7 @@ describe('Edit process filters cloud', () => { await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.ALL); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); }); @@ -232,8 +232,8 @@ describe('Edit process filters cloud', () => { await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('StartDate'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('StartDate'); + await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); + await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); }); diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process-custom-filters.e2e.ts index 9d0fe91ae4..08d13918aa 100644 --- a/e2e/process-services-cloud/process-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/process-custom-filters.e2e.ts @@ -178,7 +178,7 @@ describe('Process list cloud', () => { }); 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: 'LastModified', order: 'ASC' }); + await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Last Modified', order: 'ASC' }); await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true); @@ -189,7 +189,7 @@ describe('Process list cloud', () => { }); 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: 'BusinessKey', order: 'ASC' }); + await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Business Key', order: 'ASC' }); await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true); diff --git a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.html b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.html index 1bc4515b49..b9c7da2e64 100644 --- a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.html +++ b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.html @@ -14,8 +14,8 @@ {{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.DATE_RANGE_TITLE' | translate }} - - + + diff --git a/lib/process-services-cloud/src/lib/i18n/en.json b/lib/process-services-cloud/src/lib/i18n/en.json index 85e620e67e..bf4b5f7eb6 100644 --- a/lib/process-services-cloud/src/lib/i18n/en.json +++ b/lib/process-services-cloud/src/lib/i18n/en.json @@ -162,10 +162,10 @@ "PROCESS_DEF_ID": "ProcessDefinitionId", "PROCESS_DEF_NAME": "ProcessDefinitionName", "PROCESS_DEF_KEY": "ProcessDefinitionKey", - "LAST_MODIFIED": "LastModified", + "LAST_MODIFIED": "Last Modified", "LAST_MODIFIED_DATE_FORM": "LastModifiedFrom", "LAST_MODIFIED_TO": "LastModifiedTo", - "PROCESS_NAME": "ProcessName", + "PROCESS_NAME": "Process Name", "APP_VERSION": "AppReleaseVersion", "CREATED_DATE": "Created Date", "DATE_RANGE": { @@ -180,8 +180,10 @@ "RANGE": "Date within" }, "DATE_RANGE_TITLE": "Start date - End date", - "START_DATE": "Start date", - "END_DATE": "End date" + "START_DATE": "Start Date", + "END_DATE": "End date", + "ID": "Id", + "BUSINESS_KEY": "Business Key" }, "ERROR": { "DATE": "Date format DD/MM/YYYY", diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html index f81af0f99b..04fa7dbfe5 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html @@ -30,7 +30,7 @@ [formControlName]="processFilterProperty.key" [attr.data-automation-id]="'adf-cloud-edit-process-property-' + processFilterProperty.key"> - {{ propertyOption.label }} + {{ propertyOption.label | translate }} diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts index b1fc3b0b5b..b1926625e2 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts @@ -380,7 +380,7 @@ describe('EditProcessFilterCloudComponent', () => { expect(sortElement).toBeDefined(); expect(orderElement).toBeDefined(); expect(stateElement.innerText.trim()).toEqual('RUNNING'); - expect(sortElement.innerText.trim()).toEqual('Id'); + expect(sortElement.innerText.trim()).toEqual('ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.ID'); expect(orderElement.innerText.trim()).toEqual('ASC'); }); })); @@ -556,7 +556,7 @@ describe('EditProcessFilterCloudComponent', () => { processDefinitionId: 'process-definition-id', priority: '12' })); - component.sortProperties = ['id', 'processName', 'processDefinitionId']; + component.sortProperties = ['id', 'name', 'processDefinitionId']; fixture.detectChanges(); const processFilterIdChange = new SimpleChange(null, 'mock-process-filter-id', true); component.ngOnChanges({ 'id': processFilterIdChange }); @@ -578,6 +578,29 @@ describe('EditProcessFilterCloudComponent', () => { }); })); + it('should display the process name label for the name property', async () => { + getProcessFilterByIdSpy.and.returnValue(of({ + id: 'filter-id', + processName: 'process-name', + sort: 'my-custom-sort', + processDefinitionId: 'process-definition-id', + priority: '12' + })); + component.sortProperties = ['name']; + const processFilterIdChange = new SimpleChange(null, 'mock-process-filter-id', true); + component.ngOnChanges({ 'id': processFilterIdChange }); + fixture.detectChanges(); + const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); + expansionPanel.click(); + fixture.detectChanges(); + const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-process-property-sort"]'); + sortElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + const sortOptions = fixture.debugElement.queryAll(By.css('.mat-option-text')); + expect(sortOptions[0].nativeElement.textContent).toEqual(' ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_NAME '); + }); + describe('edit filter actions', () => { beforeEach(() => { diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts index 4c20cfb1f1..bb2c10258d 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts @@ -25,7 +25,7 @@ import moment from 'moment-es6'; import { Moment } from 'moment'; import { AppsProcessCloudService } from '../../../app/services/apps-process-cloud.service'; -import { ProcessFilterCloudModel, ProcessFilterProperties, ProcessFilterAction, ProcessFilterOptions } from '../models/process-filter-cloud.model'; +import { ProcessFilterCloudModel, ProcessFilterProperties, ProcessFilterAction, ProcessFilterOptions, ProcessSortFilterProperties } from '../models/process-filter-cloud.model'; import { TranslationService, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core'; import { ProcessFilterCloudService } from '../services/process-filter-cloud.service'; import { ProcessFilterDialogCloudComponent } from './process-filter-dialog-cloud.component'; @@ -260,9 +260,8 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes get createSortProperties(): ProcessFilterOptions[] { this.checkMandatorySortProperties(); - const sortProperties = this.sortProperties.map((property: string) => { - return { label: property.charAt(0).toUpperCase() + property.slice(1), value: property }; - }); + const defaultSortProperties = this.createProcessSortProperties(); + const sortProperties = defaultSortProperties.filter((sortProperty: ProcessFilterProperties) => this.isValidProperty(this.sortProperties, sortProperty)); return sortProperties; } @@ -538,6 +537,71 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes ]; } + createProcessSortProperties(): ProcessSortFilterProperties[] { + return [ + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.ID', + key: 'id', + value: 'id' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_NAME', + key: 'name', + value: 'name' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.START_DATE', + key: 'startDate', + value: 'startDate' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.STATUS', + key: 'status', + value: 'status' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.INITIATOR', + key: 'initiator', + value: 'initiator' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.APP_NAME', + key: 'appName', + value: 'appName' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.APP_VERSION', + key: 'appVersion', + value: 'appVersion' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_INS_ID', + key: 'processInstanceId', + value: 'processInstanceId' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_DEF_ID', + key: 'processDefinitionId', + value: 'processDefinitionId' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_DEF_KEY', + key: 'processDefinitionKey', + value: 'processDefinitionKey' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.LAST_MODIFIED', + key: 'lastModified', + value: 'lastModified' + }, + { + label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.BUSINESS_KEY', + key: 'businessKey', + value: 'businessKey' + } + ]; + } + createProcessFilterProperties(currentProcessFilter: ProcessFilterCloudModel): ProcessFilterProperties[] { return [ new ProcessFilterProperties({ diff --git a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts index af7cfa20d9..2d4031a332 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts @@ -99,3 +99,9 @@ export class ProcessFilterProperties { } } } + +export interface ProcessSortFilterProperties { + label: string; + value: string; + key: string; +}