[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
This commit is contained in:
Silviu Popa 2019-04-10 21:45:41 +03:00 committed by Eugenio Romano
parent 1bda3c914c
commit 3f8ca56405
4 changed files with 38 additions and 1 deletions

View File

@ -31,6 +31,8 @@ import { EditTaskFilterCloudComponent } from './edit-task-filter-cloud.component
import { TaskFilterCloudService } from '../services/task-filter-cloud.service'; import { TaskFilterCloudService } from '../services/task-filter-cloud.service';
import { TaskFilterDialogCloudComponent } from './task-filter-dialog-cloud.component'; import { TaskFilterDialogCloudComponent } from './task-filter-dialog-cloud.component';
import { fakeFilter } from '../mock/task-filters-cloud.mock'; import { fakeFilter } from '../mock/task-filters-cloud.mock';
import { AbstractControl } from '@angular/forms';
import moment from 'moment-es6';
describe('EditTaskFilterCloudComponent', () => { describe('EditTaskFilterCloudComponent', () => {
let component: EditTaskFilterCloudComponent; let component: EditTaskFilterCloudComponent;
@ -392,6 +394,29 @@ describe('EditTaskFilterCloudComponent', () => {
expect(deleteButton.disabled).toBe(false); 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', () => { describe('edit filter actions', () => {

View File

@ -161,12 +161,24 @@ export class EditTaskFilterCloudComponent implements OnInit, OnChanges {
.pipe(debounceTime(500), .pipe(debounceTime(500),
filter(() => this.isFormValid())) filter(() => this.isFormValid()))
.subscribe((formValues: TaskFilterCloudModel) => { .subscribe((formValues: TaskFilterCloudModel) => {
this.setLastModifiedToFilter(formValues);
this.changedTaskFilter = new TaskFilterCloudModel(Object.assign({}, this.taskFilter, formValues)); this.changedTaskFilter = new TaskFilterCloudModel(Object.assign({}, this.taskFilter, formValues));
this.formHasBeenChanged = !this.compareFilters(this.changedTaskFilter, this.taskFilter); this.formHasBeenChanged = !this.compareFilters(this.changedTaskFilter, this.taskFilter);
this.filterChange.emit(this.changedTaskFilter); 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[] { createAndFilterProperties(): TaskFilterProperties[] {
this.checkMandatoryFilterProperties(); this.checkMandatoryFilterProperties();

View File

@ -26,6 +26,7 @@ import { fakeGlobalTask, fakeCustomSchema } from '../mock/fakeTaskResponseMock';
import { of } from 'rxjs'; import { of } from 'rxjs';
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module'; import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
import { TaskListCloudModule } from '../task-list-cloud.module'; import { TaskListCloudModule } from '../task-list-cloud.module';
@Component({ @Component({
template: ` template: `
<adf-cloud-task-list #taskListCloud> <adf-cloud-task-list #taskListCloud>

View File

@ -271,5 +271,4 @@ export class TaskListCloudComponent extends DataTableSchema implements OnChanges
}; };
return new TaskQueryCloudRequestModel(requestNode); return new TaskQueryCloudRequestModel(requestNode);
} }
} }