From c9fdf2455390c4cecd7430f89b43b061757b1908 Mon Sep 17 00:00:00 2001 From: Jatin Chugh <105338943+jatin2008@users.noreply.github.com> Date: Wed, 23 Aug 2023 00:15:52 +0530 Subject: [PATCH] [APPS-2127] migrated dependency in date-range-filter component from moment to date-fns (#8833) * migrated dependency in date-range-filter component from moment to date-fns * test cases migrated to date-fns impacted due to migration of dependency in date-range-filter.component.ts * migrate date-range-filter.service.ts from moment to date-fns dependency --- .../date-range-filter.component.spec.ts | 10 +++---- .../date-range-filter.component.ts | 10 +++---- .../date-range-filter.service.spec.ts | 26 ++++++++-------- .../date-range-filter.service.ts | 30 +++++++++---------- ...dit-process-filter-cloud.component.spec.ts | 5 ++-- .../models/process-filter-cloud.model.spec.ts | 14 ++++----- .../mock/edit-task-filter-cloud.mock.ts | 10 +++---- 7 files changed, 53 insertions(+), 52 deletions(-) diff --git a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.spec.ts b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.spec.ts index c3faf1e187..dc88b14946 100644 --- a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.spec.ts +++ b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.spec.ts @@ -22,8 +22,8 @@ import { ProcessServiceCloudTestingModule } from '../../testing/process-service- import { MatSelectChange } from '@angular/material/select'; import { DateCloudFilterType } from '../../models/date-cloud-filter.model'; import { DateRangeFilterService } from './date-range-filter.service'; -import moment from 'moment'; import { mockFilterProperty } from '../mock/date-range-filter.mock'; +import { add, endOfDay } from 'date-fns'; describe('DateRangeFilterComponent', () => { let component: DateRangeFilterComponent; @@ -92,8 +92,8 @@ describe('DateRangeFilterComponent', () => { it('should return correct date when any type is selected', () => { const expectedDate = { - startDate: moment().endOf('day').toISOString(true), - endDate: moment().add(1, 'days').endOf('day').toISOString(true) + startDate: endOfDay(new Date()).toISOString(), + endDate: add(endOfDay(new Date()), { days: 1 }).toISOString() }; expect(service.getDateRange(DateCloudFilterType.TOMORROW)).toEqual(expectedDate); }); @@ -126,9 +126,9 @@ describe('DateRangeFilterComponent', () => { fixture.detectChanges(); // eslint-disable-next-line no-underscore-dangle - expect(component.dateRangeForm.get('from').value).toEqual(moment(mockFilterProperty.value._startFrom)); + expect(component.dateRangeForm.get('from').value).toEqual(mockFilterProperty.value._startFrom); // eslint-disable-next-line no-underscore-dangle - expect(component.dateRangeForm.get('to').value).toEqual(moment(mockFilterProperty.value._startTo)); + expect(component.dateRangeForm.get('to').value).toEqual(mockFilterProperty.value._startTo); }); it('should have floating labels when values are present', () => { diff --git a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.ts b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.ts index 16d17ed661..43e4ffc483 100644 --- a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.ts +++ b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.component.ts @@ -20,7 +20,7 @@ import { MatSelectChange } from '@angular/material/select'; import { ProcessFilterProperties, ProcessFilterOptions } from '../../process/process-filters/models/process-filter-cloud.model'; import { UntypedFormGroup, UntypedFormControl } from '@angular/forms'; import { DateRangeFilter, DateCloudFilterType } from '../../models/date-cloud-filter.model'; -import moment from 'moment'; +import { endOfDay, startOfDay } from 'date-fns'; @Component({ selector: 'adf-cloud-date-range-filter', @@ -70,8 +70,8 @@ import moment from 'moment'; onDateRangeClosed() { const dateRange = { - startDate: moment(this.dateRangeForm.controls.from.value).startOf('day').toISOString(true), - endDate: moment(this.dateRangeForm.controls.to.value).endOf('day').toISOString(true) + startDate: startOfDay(new Date(this.dateRangeForm.controls.from.value)).toISOString(), + endDate: endOfDay(new Date(this.dateRangeForm.controls.to.value)).toISOString() }; this.dateChanged.emit(dateRange); } @@ -85,8 +85,8 @@ import moment from 'moment'; const to = this.getFilterAttribute('to'); const type = this.getFilterAttribute('dateType'); - this.dateRangeForm.get('from').setValue(moment(this.getFilterValue(from))); - this.dateRangeForm.get('to').setValue(moment(this.getFilterValue(to))); + this.dateRangeForm.get('from').setValue(this.getFilterValue(from)); + this.dateRangeForm.get('to').setValue(this.getFilterValue(to)); this.type = this.getFilterValue(type); } diff --git a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.spec.ts b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.spec.ts index 0fb5be4b32..40508b53b5 100644 --- a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.spec.ts +++ b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.spec.ts @@ -18,7 +18,7 @@ import { TestBed } from '@angular/core/testing'; import { DateRangeFilterService } from './date-range-filter.service'; import { DateCloudFilterType } from '../../models/date-cloud-filter.model'; -import moment from 'moment'; +import { add, endOfDay, endOfMonth, endOfQuarter, endOfYear, startOfDay, startOfMonth, startOfQuarter, startOfYear } from 'date-fns'; describe('Date Range Filter service', () => { @@ -30,32 +30,32 @@ describe('Date Range Filter service', () => { it('should return today range', () => { const expectedDate = { - startDate: moment().startOf('day').toISOString(true), - endDate: moment().endOf('day').toISOString(true) + startDate: startOfDay(new Date()).toISOString(), + endDate: endOfDay(new Date()).toISOString() }; expect(service.getDateRange(DateCloudFilterType.TODAY)).toEqual(expectedDate); }); it('should return month range', () => { const expectedDate = { - startDate: moment().startOf('month').toISOString(true), - endDate: moment().endOf('month').toISOString(true) + startDate: startOfMonth(new Date()).toISOString(), + endDate: endOfMonth(new Date()).toISOString() }; expect(service.getDateRange(DateCloudFilterType.MONTH)).toEqual(expectedDate); }); it('should return year range', () => { const expectedDate = { - startDate: moment().startOf('year').toISOString(true), - endDate: moment().endOf('year').toISOString(true) + startDate: startOfYear(new Date()).toISOString(), + endDate: endOfYear(new Date()).toISOString() }; expect(service.getDateRange(DateCloudFilterType.YEAR)).toEqual(expectedDate); }); it('should return quarter range', () => { const expectedDate = { - startDate: moment().startOf('quarter').toISOString(true), - endDate: moment().endOf('quarter').toISOString(true) + startDate: startOfQuarter(new Date()).toISOString(), + endDate: endOfQuarter(new Date()).toISOString() }; expect(service.getDateRange(DateCloudFilterType.QUARTER)).toEqual(expectedDate); }); @@ -70,16 +70,16 @@ describe('Date Range Filter service', () => { it('should return tomorow range', () => { const expectedDate = { - startDate: moment().endOf('day').toISOString(true), - endDate: moment().add(1, 'days').endOf('day').toISOString(true) + startDate: endOfDay(new Date()).toISOString(), + endDate: add(endOfDay(new Date()), { days: 1 }).toISOString() }; expect(service.getDateRange(DateCloudFilterType.TOMORROW)).toEqual(expectedDate); }); it('should return next 7 days range', () => { const expectedDate = { - startDate: moment().startOf('day').toISOString(true), - endDate: moment().add(7, 'days').endOf('day').toISOString(true) + startDate: startOfDay(new Date()).toISOString(), + endDate: add(endOfDay(new Date()), { days: 7 }).toISOString() }; expect(service.getDateRange(DateCloudFilterType.NEXT_7_DAYS)).toEqual(expectedDate); }); diff --git a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.ts b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.ts index be432b2224..e5452948f1 100644 --- a/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.ts +++ b/lib/process-services-cloud/src/lib/common/date-range-filter/date-range-filter.service.ts @@ -16,8 +16,8 @@ */ import { Injectable } from '@angular/core'; -import moment from 'moment'; import { DateRangeFilter, DateCloudFilterType } from '../../models/date-cloud-filter.model'; +import { add, endOfDay, endOfMonth, endOfQuarter, endOfWeek, endOfYear, startOfDay, startOfMonth, startOfQuarter, startOfWeek, startOfYear } from 'date-fns'; @Injectable({ providedIn: 'root' @@ -52,50 +52,50 @@ export class DateRangeFilterService { private getNext7DaysDateRange(): DateRangeFilter { return { - startDate: moment().startOf('day').toISOString(true), - endDate: moment().add(7, 'days').endOf('day').toISOString(true) + startDate: startOfDay(new Date()).toISOString(), + endDate: add(endOfDay(new Date()), { days: 7 }).toISOString() }; } private getTomorrowDateRange(): DateRangeFilter { return { - startDate: moment().endOf('day').toISOString(true), - endDate: moment().add(1, 'days').endOf('day').toISOString(true) + startDate: endOfDay(new Date()).toISOString(), + endDate: add(endOfDay(new Date()), { days: 1 }).toISOString() }; } private getCurrentYearDateRange(): DateRangeFilter { return { - startDate: moment().startOf('year').toISOString(true), - endDate: moment().endOf('year').toISOString(true) + startDate: startOfYear(new Date()).toISOString(), + endDate: endOfYear(new Date()).toISOString() }; } private getTodayDateRange(): DateRangeFilter { return { - startDate: moment().startOf('day').toISOString(true), - endDate: moment().endOf('day').toISOString(true) + startDate: startOfDay(new Date()).toISOString(), + endDate: endOfDay(new Date()).toISOString() }; } private getCurrentWeekRange(): DateRangeFilter { return { - startDate: moment().startOf('week').toISOString(true), - endDate: moment().endOf('week').toISOString(true) + startDate: startOfWeek(new Date()).toISOString(), + endDate: endOfWeek(new Date()).toISOString() }; } private getCurrentMonthDateRange(): DateRangeFilter { return { - startDate: moment().startOf('month').toISOString(true), - endDate: moment().endOf('month').toISOString(true) + startDate: startOfMonth(new Date()).toISOString(), + endDate: endOfMonth(new Date()).toISOString() }; } private getQuarterDateRange(): DateRangeFilter { return { - startDate: moment().startOf('quarter').toISOString(true), - endDate: moment().endOf('quarter').toISOString(true) + startDate: startOfQuarter(new Date()).toISOString(), + endDate: endOfQuarter(new Date()).toISOString() }; } } 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 931e34d74f..580cc383b7 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 @@ -41,6 +41,7 @@ import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud import { mockAppVersions } from '../mock/process-filters-cloud.mock'; import { DATE_FORMAT_CLOUD } from '../../../models/date-format-cloud.model'; import { fakeEnvironmentList } from '../../../common/mock/environment.mock'; +import { endOfDay, startOfDay } from 'date-fns'; describe('EditProcessFilterCloudComponent', () => { let component: EditProcessFilterCloudComponent; @@ -1048,8 +1049,8 @@ describe('EditProcessFilterCloudComponent', () => { component.filterChange.subscribe(() => { const dateFilter = { - startFrom: moment().startOf('day').toISOString(true), - startTo: moment().endOf('day').toISOString(true) + startFrom: startOfDay(new Date()).toISOString(), + startTo: endOfDay(new Date()).toISOString() }; expect(component.processFilter.completedFrom).toEqual(dateFilter.startFrom); expect(component.processFilter.completedTo).toEqual(dateFilter.startTo); diff --git a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.spec.ts index f023c5110a..4e09373048 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.spec.ts @@ -15,9 +15,9 @@ * limitations under the License. */ -import moment from 'moment'; import { DateCloudFilterType } from '../../../models/date-cloud-filter.model'; import { ProcessFilterCloudModel } from './process-filter-cloud.model'; +import { endOfDay, startOfDay } from 'date-fns'; describe('ProcessFilterCloudModel', () => { it('should use appVersion from the provided object', () => { @@ -43,8 +43,8 @@ describe('ProcessFilterCloudModel', () => { const model = new ProcessFilterCloudModel({ suspendedDateType: DateCloudFilterType.TODAY }); - expect(model.suspendedFrom).toEqual(moment(date).startOf('day').toISOString(true)); - expect(model.suspendedTo).toEqual(moment(date).endOf('day').toISOString(true)); + expect(model.suspendedFrom).toEqual(startOfDay(date).toISOString()); + expect(model.suspendedTo).toEqual(endOfDay(date).toISOString()); }); it('should get completed date start and end date if date type is today', () => { @@ -52,8 +52,8 @@ describe('ProcessFilterCloudModel', () => { const model = new ProcessFilterCloudModel({ completedDateType: DateCloudFilterType.TODAY }); - expect(model.completedFrom).toEqual(moment(date).startOf('day').toISOString(true)); - expect(model.completedTo).toEqual(moment(date).endOf('day').toISOString(true)); + expect(model.completedFrom).toEqual(startOfDay(date).toISOString()); + expect(model.completedTo).toEqual(endOfDay(date).toISOString()); }); it('should get started date start and end date if date type is today', () => { @@ -61,7 +61,7 @@ describe('ProcessFilterCloudModel', () => { const model = new ProcessFilterCloudModel({ startedDateType: DateCloudFilterType.TODAY }); - expect(model.startFrom).toEqual(moment(date).startOf('day').toISOString(true)); - expect(model.startTo).toEqual(moment(date).endOf('day').toISOString(true)); + expect(model.startFrom).toEqual(startOfDay(date).toISOString()); + expect(model.startTo).toEqual(endOfDay(date).toISOString()); }); }); diff --git a/lib/process-services-cloud/src/lib/task/task-filters/mock/edit-task-filter-cloud.mock.ts b/lib/process-services-cloud/src/lib/task/task-filters/mock/edit-task-filter-cloud.mock.ts index a8032d9ef4..4fa54b1ac2 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/mock/edit-task-filter-cloud.mock.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/mock/edit-task-filter-cloud.mock.ts @@ -16,8 +16,8 @@ */ import { SimpleChange } from '@angular/core'; -import moment from 'moment'; import { fakeApplicationInstance } from '../../../app/mock/app-model.mock'; +import { endOfDay, startOfDay } from 'date-fns'; export const mockAlfrescoApi: any = { oauth2Auth: { @@ -64,13 +64,13 @@ export const mockDefaultTaskFilter = { }; export const mockDateFilterFromTo = { - startFrom: moment().startOf('day').toISOString(true), - startTo: moment().endOf('day').toISOString(true) + startFrom: startOfDay(new Date()).toISOString(), + startTo: endOfDay(new Date()).toISOString() }; export const mockDateFilterStartEnd = { - startDate: moment().startOf('day').toISOString(true), - endDate: moment().endOf('day').toISOString(true) + startDate: startOfDay(new Date()).toISOString(), + endDate: endOfDay(new Date()).toISOString() }; export const mockDueDateFilter = {