11import { TestBed } from '@angular/core/testing' ;
22import { FormControl , FormGroup } from '@angular/forms' ;
3- import { DateAdapter , MATERIAL_SANITY_CHECKS , NativeDateModule } from '@angular/material/core' ;
43import {
54 DateSuggestionComposer ,
65 DateSuggestionModule ,
6+ DayOfWeek ,
77 DEFAULT_SUGGESTION_STRATEGY_MAP ,
88 DefaultDateIntervalSuggestion ,
99 endOfDay ,
10+ FIRST_DAY_OF_WEEK ,
1011 shiftDate ,
1112 startOfDay
1213} from '@angular-ru/cdk/date' ;
@@ -19,19 +20,20 @@ describe('[TEST]: Trim Input', () => {
1920
2021 const mockToday : Date = new Date ( '28 Apr 2021 12:00:00' ) ;
2122 const mockFirstWeekdays = [
22- { firstDayOfWeekNumber : 0 , firstDayOfWeek : new Date ( '25 Apr 2021 12:00:00' ) } ,
23- { firstDayOfWeekNumber : 1 , firstDayOfWeek : new Date ( '26 Apr 2021 12:00:00' ) } ,
24- { firstDayOfWeekNumber : 2 , firstDayOfWeek : new Date ( '27 Apr 2021 12:00:00' ) } ,
25- { firstDayOfWeekNumber : 3 , firstDayOfWeek : new Date ( '28 Apr 2021 12:00:00' ) } ,
26- { firstDayOfWeekNumber : 4 , firstDayOfWeek : new Date ( '22 Apr 2021 12:00:00' ) } ,
27- { firstDayOfWeekNumber : 5 , firstDayOfWeek : new Date ( '23 Apr 2021 12:00:00' ) } ,
28- { firstDayOfWeekNumber : 6 , firstDayOfWeek : new Date ( '24 Apr 2021 12:00:00' ) }
23+ { firstDayOfWeekNumber : DayOfWeek . Sunday , firstDayOfWeek : new Date ( '25 Apr 2021 12:00:00' ) } ,
24+ { firstDayOfWeekNumber : DayOfWeek . Monday , firstDayOfWeek : new Date ( '26 Apr 2021 12:00:00' ) } ,
25+ { firstDayOfWeekNumber : DayOfWeek . Tuesday , firstDayOfWeek : new Date ( '27 Apr 2021 12:00:00' ) } ,
26+ { firstDayOfWeekNumber : DayOfWeek . Wednesday , firstDayOfWeek : new Date ( '28 Apr 2021 12:00:00' ) } ,
27+ { firstDayOfWeekNumber : DayOfWeek . Thursday , firstDayOfWeek : new Date ( '22 Apr 2021 12:00:00' ) } ,
28+ { firstDayOfWeekNumber : DayOfWeek . Friday , firstDayOfWeek : new Date ( '23 Apr 2021 12:00:00' ) } ,
29+ { firstDayOfWeekNumber : DayOfWeek . Saturday , firstDayOfWeek : new Date ( '24 Apr 2021 12:00:00' ) }
2930 ] ;
31+ const firstDayOfWeekFactory = jest . fn ( ) ;
3032
3133 beforeEach ( async ( ) => {
3234 await TestBed . configureTestingModule ( {
33- imports : [ DateSuggestionModule . forRoot ( ) , NativeDateModule ] ,
34- providers : [ { provide : MATERIAL_SANITY_CHECKS , useValue : false } ]
35+ imports : [ DateSuggestionModule . forRoot ( ) ] ,
36+ providers : [ { provide : FIRST_DAY_OF_WEEK , useFactory : firstDayOfWeekFactory } ]
3537 } ) . compileComponents ( ) ;
3638
3739 composer = TestBed . inject ( DateSuggestionComposer ) ;
@@ -106,10 +108,8 @@ describe('[TEST]: Trim Input', () => {
106108 it . each ( mockFirstWeekdays ) (
107109 'set calendar week as interval (first day of week is %s)' ,
108110 ( { firstDayOfWeekNumber, firstDayOfWeek } ) => {
109- const dateAdapter : DateAdapter < unknown > = TestBed . inject ( DateAdapter ) ;
110-
111111 // mocking locale day of week
112- jest . spyOn ( dateAdapter , 'getFirstDayOfWeek' ) . mockImplementation ( ( ) => firstDayOfWeekNumber ) ;
112+ firstDayOfWeekFactory . mockImplementation ( ( ) => firstDayOfWeekNumber ) ;
113113
114114 // mocking today's week day
115115 jest . useFakeTimers ( 'modern' ) ;
@@ -122,7 +122,7 @@ describe('[TEST]: Trim Input', () => {
122122 dateFrom : startOfDay ( firstDayOfWeek ) ,
123123 dateTo : endOfDay ( mockToday )
124124 } ) ;
125- expect ( form . getRawValue ( ) . dateFrom . getDay ( ) ) . toBe ( dateAdapter . getFirstDayOfWeek ( ) ) ;
125+ expect ( form . getRawValue ( ) . dateFrom . getDay ( ) ) . toBe ( firstDayOfWeekNumber ) ;
126126 }
127127 ) ;
128128} ) ;
0 commit comments