[ADF-4291] Fix lastModifiedTo filter on processes (#4624)

This commit is contained in:
davidcanonieto
2019-04-18 17:17:10 +02:00
committed by Eugenio Romano
parent 59eee6ebaf
commit 0b09af3ac6
2 changed files with 38 additions and 0 deletions

View File

@@ -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();
});
});
});

View File

@@ -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({