From 3f8ca56405bcb10d30ee729ba1c30125aefc971d Mon Sep 17 00:00:00 2001 From: Silviu Popa Date: Wed, 10 Apr 2019 21:45:41 +0300 Subject: [PATCH] [ADF-4921] TaskListCloud - fix lastModifiedTo date filter (#4577) * [ADF-4921] - fix lastModifiedTo date * [ADF-4291] - fix build * [ADF-4291] - fix build * [ADF-4291] - move lastModifiedTo function from task-list-cloud in edit-task-filter-cloud --- .../edit-task-filter-cloud.component.spec.ts | 25 +++++++++++++++++++ .../edit-task-filter-cloud.component.ts | 12 +++++++++ .../task-list-cloud.component.spec.ts | 1 + .../components/task-list-cloud.component.ts | 1 - 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts index bb5c1fb0c1..ecdfe1860b 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts @@ -31,6 +31,8 @@ import { EditTaskFilterCloudComponent } from './edit-task-filter-cloud.component import { TaskFilterCloudService } from '../services/task-filter-cloud.service'; import { TaskFilterDialogCloudComponent } from './task-filter-dialog-cloud.component'; import { fakeFilter } from '../mock/task-filters-cloud.mock'; +import { AbstractControl } from '@angular/forms'; +import moment from 'moment-es6'; describe('EditTaskFilterCloudComponent', () => { let component: EditTaskFilterCloudComponent; @@ -392,6 +394,29 @@ describe('EditTaskFilterCloudComponent', () => { expect(deleteButton.disabled).toBe(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.editTaskFilterForm.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.changedTaskFilter.lastModifiedTo.toISOString()).toEqual(lastModifiedToFilter.toISOString()); + done(); + }); + component.onFilterChange(); + }); }); describe('edit filter actions', () => { diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts index deaae0e70a..2771a3ecce 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts @@ -161,12 +161,24 @@ export class EditTaskFilterCloudComponent implements OnInit, OnChanges { .pipe(debounceTime(500), filter(() => this.isFormValid())) .subscribe((formValues: TaskFilterCloudModel) => { + this.setLastModifiedToFilter(formValues); this.changedTaskFilter = new TaskFilterCloudModel(Object.assign({}, this.taskFilter, formValues)); this.formHasBeenChanged = !this.compareFilters(this.changedTaskFilter, this.taskFilter); this.filterChange.emit(this.changedTaskFilter); }); } + private setLastModifiedToFilter(formValues: TaskFilterCloudModel) { + 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(); + } + } createAndFilterProperties(): TaskFilterProperties[] { this.checkMandatoryFilterProperties(); diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts index 2fc3d318b6..909fbb9e94 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts @@ -26,6 +26,7 @@ import { fakeGlobalTask, fakeCustomSchema } from '../mock/fakeTaskResponseMock'; import { of } from 'rxjs'; import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module'; import { TaskListCloudModule } from '../task-list-cloud.module'; + @Component({ template: ` diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts index 49d40c87b7..7355f7c4ea 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts @@ -271,5 +271,4 @@ export class TaskListCloudComponent extends DataTableSchema implements OnChanges }; return new TaskQueryCloudRequestModel(requestNode); } - }