@@ -18,8 +18,10 @@ import {
1818 prefixDatafeedId ,
1919 getSafeAggregationName ,
2020 getLatestDataOrBucketTimestamp ,
21+ getEarliestDatafeedStartTime ,
2122} from './job_utils' ;
2223import { CombinedJob , Job } from '../types/anomaly_detection_jobs' ;
24+ import moment from 'moment' ;
2325
2426describe ( 'ML - job utils' , ( ) => {
2527 describe ( 'calculateDatafeedFrequencyDefaultSeconds' , ( ) => {
@@ -581,4 +583,22 @@ describe('ML - job utils', () => {
581583 expect ( getLatestDataOrBucketTimestamp ( undefined , undefined ) ) . toBe ( undefined ) ;
582584 } ) ;
583585 } ) ;
586+
587+ describe ( 'getEarliestDatafeedStartTime' , ( ) => {
588+ test ( 'returns expected value when no gap in data at end of bucket processing' , ( ) => {
589+ expect ( getEarliestDatafeedStartTime ( 1549929594000 , 1549928700000 ) ) . toBe ( 1549929594000 ) ;
590+ } ) ;
591+ test ( 'returns expected value when there is a gap in data at end of bucket processing' , ( ) => {
592+ expect ( getEarliestDatafeedStartTime ( 1549929594000 , 1562256600000 ) ) . toBe ( 1562256600000 ) ;
593+ } ) ;
594+ test ( 'returns expected value when bucket span is provided' , ( ) => {
595+ expect (
596+ getEarliestDatafeedStartTime ( 1549929594000 , 1562256600000 , moment . duration ( 1 , 'h' ) )
597+ ) . toBe ( 1562260200000 ) ;
598+ } ) ;
599+
600+ test ( 'returns expected value when job has not run' , ( ) => {
601+ expect ( getLatestDataOrBucketTimestamp ( undefined , undefined ) ) . toBe ( undefined ) ;
602+ } ) ;
603+ } ) ;
584604} ) ;
0 commit comments