File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change 1+ import  {  expect ,  test  }  from  "vitest" ; 
2+ import  dayjs  from  "dayjs" ; 
3+ import  {  generate  }  from  "./schedule.ts" ; 
4+ 
5+ const  LIMIT_TO_PREVENT_INIFINITE_LOOPS  =  1000 ; 
6+ 
7+ test ( "generates first date closed to the start" ,  ( )  =>  { 
8+   const  today  =  dayjs ( ) ; 
9+   for  ( const  date  of  generate ( {  start : today  } ) )  { 
10+     expect ( today  <=  date ) . toBe ( true ) ; 
11+     expect ( 
12+       date  <  today . add ( 3 ,  "d" ) , 
13+       `expect ${ date . format ( "YYYY-MM-DD" ) } ${ today . add ( 3 ,  "d" ) . format ( "YYYY-MM-DD" ) }  , 
14+     ) . toBe ( true ) ; 
15+     break ; 
16+   } 
17+ } ) ; 
18+ 
19+ test ( "generates days only on Monday, Wednesday or Friday" ,  ( )  =>  { 
20+   let  count  =  0 ;  // to prevent infinite loops 
21+   for  ( const  date  of  generate ( { } ) )  { 
22+     expect ( [ 1 ,  3 ,  5 ] ) . contain ( date . day ( ) ) ; 
23+     if  ( count ++  >  LIMIT_TO_PREVENT_INIFINITE_LOOPS )  { 
24+       break ; 
25+     } 
26+   } 
27+ } ) ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments