[ACA-3010] - Process/Task Cloud fix wrong date range (#6192)

* [ACA-3010] - Process/Task Cloud fix wrong date range

* fix e2e

* fix unit test and disable false positive e2e tests

Co-authored-by: Silviu Popa <p3701014@L3700101120.ness.com>
This commit is contained in:
Silviu Popa
2020-10-01 13:10:15 +03:00
committed by GitHub
parent 7adb982e84
commit 7ed02f6716
14 changed files with 73 additions and 76 deletions

View File

@@ -219,7 +219,7 @@ describe('Edit task filters and task list properties', () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});

View File

@@ -6,5 +6,7 @@
"C260051": "login problem APS not basic",
"C279932": "login problem APS not basic",
"C279931": "login problem APS not basic",
"C279930": "login problem APS not basic"
"C279930": "login problem APS not basic",
"C297690": "https://issues.alfresco.com/jira/browse/ADF-5261",
"C297689": "https://issues.alfresco.com/jira/browse/ADF-5261"
}

View File

@@ -82,8 +82,8 @@ describe('DateRangeFilterComponent', () => {
it('should return correct date when any type is selected', () => {
const expectedDate = {
startDate: moment().endOf('day').toDate(),
endDate: moment().add(1, 'days').startOf('day').toDate()
startDate: moment().endOf('day').toISOString(true),
endDate: moment().add(1, 'days').startOf('day').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.TOMORROW)).toEqual(expectedDate);
});

View File

@@ -68,8 +68,8 @@ import moment from 'moment-es6';
onDateRangeClosed() {
const dateRange = {
startDate: this.dateRangeForm.controls.from.value,
endDate: this.dateRangeForm.controls.to.value
startDate: moment(this.dateRangeForm.controls.from.value).startOf('day').toISOString(true),
endDate: moment(this.dateRangeForm.controls.to.value).endOf('day').toISOString(true)
};
this.dateChanged.emit(dateRange);
}

View File

@@ -30,35 +30,32 @@ describe('Date Range Filter service', () => {
it('should return today range', () => {
const expectedDate = {
startDate: moment().startOf('day').toDate(),
endDate: moment().endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().endOf('day').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.TODAY)).toEqual(expectedDate);
});
it('should return month range', () => {
const expectedDate = {
startDate: moment().startOf('month').toDate(),
endDate: moment().endOf('month').toDate()
startDate: moment().startOf('month').toISOString(true),
endDate: moment().endOf('month').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.MONTH)).toEqual(expectedDate);
});
it('should return year range', () => {
const expectedDate = {
startDate: moment().startOf('year').toDate(),
endDate: moment().endOf('year').toDate()
startDate: moment().startOf('year').toISOString(true),
endDate: moment().endOf('year').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.YEAR)).toEqual(expectedDate);
});
it('should return quarter range', () => {
const currentDate = new Date();
const quarter = Math.floor((currentDate.getMonth() / 3));
const firstDate = new Date(currentDate.getFullYear(), quarter * 3, 1);
const expectedDate = {
startDate: firstDate,
endDate: new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0)
startDate: moment().startOf('quarter').toISOString(true),
endDate: moment().endOf('quarter').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.QUARTER)).toEqual(expectedDate);
});
@@ -73,16 +70,16 @@ describe('Date Range Filter service', () => {
it('should return tomorow range', () => {
const expectedDate = {
startDate: moment().endOf('day').toDate(),
endDate: moment().add(1, 'days').startOf('day').toDate()
startDate: moment().endOf('day').toISOString(true),
endDate: moment().add(1, 'days').startOf('day').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.TOMORROW)).toEqual(expectedDate);
});
it('should return next 7 days range', () => {
const expectedDate = {
startDate: moment().startOf('day').toDate(),
endDate: moment().add(7, 'days').endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().add(7, 'days').endOf('day').toISOString(true)
};
expect(service.getDateRange(DateCloudFilterType.NEXT_7_DAYS)).toEqual(expectedDate);
});

View File

@@ -52,52 +52,50 @@ export class DateRangeFilterService {
private getNext7DaysDateRange(): DateRangeFilter {
return {
startDate: moment().startOf('day').toDate(),
endDate: moment().add(7, 'days').endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().add(7, 'days').endOf('day').toISOString(true)
};
}
private getTomorrowDateRange(): DateRangeFilter {
return {
startDate: moment().endOf('day').toDate(),
endDate: moment().add(1, 'days').startOf('day').toDate()
startDate: moment().endOf('day').toISOString(true),
endDate: moment().add(1, 'days').startOf('day').toISOString(true)
};
}
private getCurrentYearDateRange(): DateRangeFilter {
return {
startDate: moment().startOf('year').toDate(),
endDate: moment().endOf('year').toDate()
startDate: moment().startOf('year').toISOString(true),
endDate: moment().endOf('year').toISOString(true)
};
}
private getTodayDateRange(): DateRangeFilter {
return {
startDate: moment().startOf('day').toDate(),
endDate: moment().endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().endOf('day').toISOString(true)
};
}
private getCurrentWeekRange(): DateRangeFilter {
return {
startDate: moment().startOf('week').toDate(),
endDate: moment().endOf('week').toDate()
startDate: moment().startOf('week').toISOString(true),
endDate: moment().endOf('week').toISOString(true)
};
}
private getCurrentMonthDateRange(): DateRangeFilter {
return {
startDate: moment().startOf('month').toDate(),
endDate: moment().endOf('month').toDate()
startDate: moment().startOf('month').toISOString(true),
endDate: moment().endOf('month').toISOString(true)
};
}
private getQuarterDateRange(): DateRangeFilter {
const quarter = Math.floor((this.currentDate.getMonth() / 3));
const firstDate = new Date(this.currentDate.getFullYear(), quarter * 3, 1);
return {
startDate: firstDate,
endDate: new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0)
startDate: moment().startOf('quarter').toISOString(true),
endDate: moment().endOf('quarter').toISOString(true)
};
}
}

View File

@@ -28,8 +28,8 @@ export enum DateCloudFilterType {
}
export interface DateRangeFilter {
startDate: Date;
endDate: Date;
startDate: string;
endDate: string;
}
export interface RangeKeys {
from: string;

View File

@@ -793,13 +793,13 @@ describe('EditProcessFilterCloudComponent', () => {
const startedDateTypeControl: AbstractControl = component.editProcessFilterForm.get('completedDateType');
startedDateTypeControl.setValue(DateCloudFilterType.TODAY);
const dateFilter = {
startFrom: moment().startOf('day').toDate(),
startTo: moment().endOf('day').toDate()
startFrom: moment().startOf('day').toISOString(true),
startTo: moment().endOf('day').toISOString(true)
};
component.filterChange.subscribe(() => {
expect(component.changedProcessFilter.completedFrom).toEqual(dateFilter.startFrom.toISOString());
expect(component.changedProcessFilter.completedTo).toEqual(dateFilter.startTo.toISOString());
expect(component.changedProcessFilter.completedFrom).toEqual(dateFilter.startFrom);
expect(component.changedProcessFilter.completedTo).toEqual(dateFilter.startTo);
done();
});
component.onFilterChange();
@@ -813,8 +813,8 @@ describe('EditProcessFilterCloudComponent', () => {
fixture.detectChanges();
const dateFilter = {
startDate: moment().startOf('day').toDate(),
endDate: moment().endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().endOf('day').toISOString(true)
};
const startedDateTypeControl: AbstractControl = component.editProcessFilterForm.get('completedDateType');
@@ -834,8 +834,8 @@ describe('EditProcessFilterCloudComponent', () => {
fixture.detectChanges();
component.filterChange.subscribe(() => {
expect(component.changedProcessFilter.completedFrom).toEqual(dateFilter.startDate.toISOString());
expect(component.changedProcessFilter.completedTo).toEqual(dateFilter.endDate.toISOString());
expect(component.changedProcessFilter.completedFrom).toEqual(dateFilter.startDate);
expect(component.changedProcessFilter.completedTo).toEqual(dateFilter.endDate);
done();
});
component.onFilterChange();

View File

@@ -326,10 +326,10 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
onDateRangeFilterChanged(dateRange: DateRangeFilter, property: ProcessFilterProperties) {
this.editProcessFilterForm.get(property.attributes?.from).setValue(
dateRange.startDate ? dateRange.startDate.toISOString() : null
dateRange.startDate ? dateRange.startDate : null
);
this.editProcessFilterForm.get(property.attributes?.to).setValue(
dateRange.endDate ? dateRange.endDate.toISOString() : null
dateRange.endDate ? dateRange.endDate : null
);
}

View File

@@ -127,11 +127,11 @@ export class ProcessFilterCloudModel {
}
private getStartDate(key: DateCloudFilterType) {
return this.dateRangeFilterService.getDateRange(key).startDate?.toISOString();
return this.dateRangeFilterService.getDateRange(key).startDate;
}
private getEndDate(key: DateCloudFilterType) {
return this.dateRangeFilterService.getDateRange(key).endDate?.toISOString();
return this.dateRangeFilterService.getDateRange(key).endDate;
}
private isDateRangeType(type: DateCloudFilterType) {

View File

@@ -275,7 +275,7 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnChan
const momentDate = moment(newDateValue, BaseEditTaskFilterCloudComponent.FORMAT_DATE, true);
if (momentDate.isValid()) {
this.getPropertyController(dateProperty).setValue(momentDate.toDate());
this.getPropertyController(dateProperty).setValue(momentDate.toISOString(true));
this.getPropertyController(dateProperty).setErrors(null);
} else {
this.getPropertyController(dateProperty).setErrors({ invalid: true });
@@ -285,10 +285,10 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnChan
onDateRangeFilterChanged(dateRange: DateRangeFilter, property: TaskFilterProperties) {
this.editTaskFilterForm.get(property.attributes?.from).setValue(
dateRange.startDate ? dateRange.startDate.toISOString() : null
dateRange.startDate ? dateRange.startDate : null
);
this.editTaskFilterForm.get(property.attributes?.to).setValue(
dateRange.endDate ? dateRange.endDate.toISOString() : null
dateRange.endDate ? dateRange.endDate : null
);
}

View File

@@ -481,13 +481,13 @@ describe('EditTaskFilterCloudComponent', () => {
const startedDateTypeControl: AbstractControl = component.editTaskFilterForm.get('dueDateType');
startedDateTypeControl.setValue(DateCloudFilterType.TODAY);
const dateFilter = {
startFrom: moment().startOf('day').toDate(),
startTo: moment().endOf('day').toDate()
startFrom: moment().startOf('day').toISOString(true),
startTo: moment().endOf('day').toISOString(true)
};
component.filterChange.subscribe(() => {
expect(component.changedTaskFilter.dueDateFrom).toEqual(dateFilter.startFrom.toISOString());
expect(component.changedTaskFilter.dueDateTo).toEqual(dateFilter.startTo.toISOString());
expect(component.changedTaskFilter.dueDateFrom).toEqual(dateFilter.startFrom);
expect(component.changedTaskFilter.dueDateTo).toEqual(dateFilter.startTo);
done();
});
component.onFilterChange();
@@ -501,8 +501,8 @@ describe('EditTaskFilterCloudComponent', () => {
fixture.detectChanges();
const dateFilter = {
startDate: moment().startOf('day').toDate(),
endDate: moment().endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().endOf('day').toISOString(true)
};
const startedDateTypeControl: AbstractControl = component.editTaskFilterForm.get('dueDateType');
@@ -522,8 +522,8 @@ describe('EditTaskFilterCloudComponent', () => {
fixture.detectChanges();
component.filterChange.subscribe(() => {
expect(component.changedTaskFilter.dueDateFrom).toEqual(dateFilter.startDate.toISOString());
expect(component.changedTaskFilter.dueDateTo).toEqual(dateFilter.endDate.toISOString());
expect(component.changedTaskFilter.dueDateFrom).toEqual(dateFilter.startDate);
expect(component.changedTaskFilter.dueDateTo).toEqual(dateFilter.endDate);
done();
});
component.onFilterChange();
@@ -539,13 +539,13 @@ describe('EditTaskFilterCloudComponent', () => {
const startedDateTypeControl: AbstractControl = component.editTaskFilterForm.get('completedDateType');
startedDateTypeControl.setValue(DateCloudFilterType.TODAY);
const dateFilter = {
startFrom: moment().startOf('day').toDate(),
startTo: moment().endOf('day').toDate()
startFrom: moment().startOf('day').toISOString(true),
startTo: moment().endOf('day').toISOString(true)
};
component.filterChange.subscribe(() => {
expect(component.changedTaskFilter.completedFrom).toEqual(dateFilter.startFrom.toISOString());
expect(component.changedTaskFilter.completedTo).toEqual(dateFilter.startTo.toISOString());
expect(component.changedTaskFilter.completedFrom).toEqual(dateFilter.startFrom);
expect(component.changedTaskFilter.completedTo).toEqual(dateFilter.startTo);
done();
});
component.onFilterChange();
@@ -559,8 +559,8 @@ describe('EditTaskFilterCloudComponent', () => {
fixture.detectChanges();
const dateFilter = {
startDate: moment().startOf('day').toDate(),
endDate: moment().endOf('day').toDate()
startDate: moment().startOf('day').toISOString(true),
endDate: moment().endOf('day').toISOString(true)
};
const startedDateTypeControl: AbstractControl = component.editTaskFilterForm.get('completedDateType');
@@ -580,8 +580,8 @@ describe('EditTaskFilterCloudComponent', () => {
fixture.detectChanges();
component.filterChange.subscribe(() => {
expect(component.changedTaskFilter.completedFrom).toEqual(dateFilter.startDate.toISOString());
expect(component.changedTaskFilter.completedTo).toEqual(dateFilter.endDate.toISOString());
expect(component.changedTaskFilter.completedFrom).toEqual(dateFilter.startDate);
expect(component.changedTaskFilter.completedTo).toEqual(dateFilter.endDate);
done();
});
component.onFilterChange();
@@ -718,7 +718,7 @@ describe('EditTaskFilterCloudComponent', () => {
component.filterChange.subscribe(() => {
if (component.changedTaskFilter instanceof TaskFilterCloudModel) {
expect(component.changedTaskFilter.lastModifiedTo.toISOString()).toEqual(lastModifiedToFilter.toISOString());
expect(component.changedTaskFilter.lastModifiedTo).toEqual(lastModifiedToFilter.toISOString(true));
}
done();
});

View File

@@ -118,7 +118,7 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone
minute: 59,
second: 59
});
formValues.lastModifiedTo = lastModifiedToFilterValue.toDate();
formValues.lastModifiedTo = lastModifiedToFilterValue.toISOString(true);
}
}

View File

@@ -42,9 +42,9 @@ export class TaskFilterCloudModel {
parentTaskId: string;
priority: number;
standalone: boolean;
lastModifiedFrom: Date;
lastModifiedTo: Date;
completedBy: string;
lastModifiedFrom: string;
lastModifiedTo: string;
completedDateType: DateCloudFilterType;
completedDate: Date;
@@ -135,11 +135,11 @@ export class TaskFilterCloudModel {
}
private getStartDate(key: DateCloudFilterType) {
return this.dateRangeFilterService.getDateRange(key).startDate?.toISOString();
return this.dateRangeFilterService.getDateRange(key).startDate;
}
private getEndDate(key: DateCloudFilterType) {
return this.dateRangeFilterService.getDateRange(key).endDate?.toISOString();
return this.dateRangeFilterService.getDateRange(key).endDate;
}
private isDateRangeType(type: DateCloudFilterType) {