From 0b09af3ac6470e836b82cf7dc052393772750049 Mon Sep 17 00:00:00 2001 From: davidcanonieto Date: Thu, 18 Apr 2019 17:17:10 +0200 Subject: [PATCH] [ADF-4291] Fix lastModifiedTo filter on processes (#4624) --- ...dit-process-filter-cloud.component.spec.ts | 25 +++++++++++++++++++ .../edit-process-filter-cloud.component.ts | 13 ++++++++++ 2 files changed, 38 insertions(+) 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 92893f28b9..ccb5372b6b 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 @@ -30,6 +30,8 @@ import { ProcessFilterCloudModel } from '../models/process-filter-cloud.model'; import { ProcessFilterCloudService } from '../services/process-filter-cloud.service'; import { AppsProcessCloudService } from '../../../app/services/apps-process-cloud.service'; import { fakeApplicationInstance } from './../../../app/mock/app-model.mock'; +import moment from 'moment-es6'; +import { AbstractControl } from '@angular/forms'; describe('EditProcessFilterCloudComponent', () => { let component: EditProcessFilterCloudComponent; @@ -496,5 +498,28 @@ describe('EditProcessFilterCloudComponent', () => { expect(deleteButton.disabled).toEqual(false); }); })); + + it('should set the correct lastModifiedTo date', (done) => { + component.appName = 'fake'; + component.filterProperties = ['appName', 'processInstanceId', 'priority', 'lastModified']; + const taskFilterIDchange = new SimpleChange(undefined, 'mock-task-filter-id', true); + component.ngOnChanges({ 'id': taskFilterIDchange }); + fixture.detectChanges(); + + const lastModifiedToControl: AbstractControl = component.editProcessFilterForm.get('lastModifiedTo'); + lastModifiedToControl.setValue('Tue Apr 09 2019 00:00:00 GMT+0300 (Eastern European Summer Time)'); + const lastModifiedToFilter = moment(lastModifiedToControl.value); + lastModifiedToFilter.set({ + hour: 23, + minute: 59, + second: 59 + }); + + component.filterChange.subscribe((res) => { + expect(component.changedProcessFilter.lastModifiedTo.toISOString()).toEqual(lastModifiedToFilter.toISOString()); + done(); + }); + component.onFilterChange(); + }); }); }); 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 3bfb964261..d13275505a 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 @@ -161,6 +161,7 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges { this.editProcessFilterForm.valueChanges .pipe(debounceTime(500), filter(() => this.isFormValid())) .subscribe((formValues: ProcessFilterCloudModel) => { + this.setLastModifiedToFilter(formValues); this.changedProcessFilter = new ProcessFilterCloudModel(Object.assign({}, this.processFilter, formValues)); this.formHasBeenChanged = !this.compareFilters(this.changedProcessFilter, this.processFilter); this.filterChange.emit(this.changedProcessFilter); @@ -404,6 +405,18 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges { } } + private setLastModifiedToFilter(formValues: ProcessFilterCloudModel) { + if (formValues.lastModifiedTo && Date.parse(formValues.lastModifiedTo.toString())) { + const lastModifiedToFilterValue = moment(formValues.lastModifiedTo); + lastModifiedToFilterValue.set({ + hour: 23, + minute: 59, + second: 59 + }); + formValues.lastModifiedTo = lastModifiedToFilterValue.toDate(); + } + } + createFilterActions(): ProcessFilterAction[] { return [ new ProcessFilterAction({