@@ -11,16 +11,23 @@ describe('createReleaseBuckets', () => {
11
11
] ) (
12
12
'creates correct # of buckets for timeSeries with [min, max] of [%d, %d] and %d desired buckets' ,
13
13
( minTime , maxTime , desiredBuckets , expectedBuckets ) => {
14
- const buckets = createReleaseBuckets ( minTime , maxTime , [ ] , desiredBuckets ) ;
14
+ const buckets = createReleaseBuckets (
15
+ minTime ,
16
+ maxTime ,
17
+ Date . now ( ) + 120391 , // Shouldn't affect buckets
18
+ [ ] ,
19
+ desiredBuckets
20
+ ) ;
15
21
expect ( buckets ) . toHaveLength ( expectedBuckets ) ;
16
22
}
17
23
) ;
18
24
19
25
it ( 'creates the correct buckets' , ( ) => {
20
26
const minTime = Date . now ( ) ;
21
27
const maxTime = Date . now ( ) + 12 * 1000 + 2235 ;
28
+ const finalTime = maxTime + 9999 ;
22
29
23
- const buckets = createReleaseBuckets ( minTime , maxTime , [ ] ) ;
30
+ const buckets = createReleaseBuckets ( minTime , maxTime , finalTime , [ ] ) ;
24
31
expect ( buckets ) . toEqual ( [
25
32
{ start : 1508208080000 , end : 1508208081424 , releases : [ ] } ,
26
33
{ start : 1508208081424 , end : 1508208082848 , releases : [ ] } ,
@@ -31,13 +38,14 @@ describe('createReleaseBuckets', () => {
31
38
{ start : 1508208088544 , end : 1508208089968 , releases : [ ] } ,
32
39
{ start : 1508208089968 , end : 1508208091392 , releases : [ ] } ,
33
40
{ start : 1508208091392 , end : 1508208092816 , releases : [ ] } ,
34
- { start : 1508208092816 , end : 1508208094235 , releases : [ ] } ,
41
+ { start : 1508208092816 , end : 1508208094235 , final : finalTime , releases : [ ] } ,
35
42
] ) ;
36
43
} ) ;
37
44
38
45
it ( 'buckets releases correctly' , ( ) => {
39
46
const minTime = Date . now ( ) ;
40
47
const maxTime = Date . now ( ) + 12 * 1000 + 2235 ;
48
+ const finalTime = maxTime + 9999 ;
41
49
42
50
const releases = [
43
51
{
@@ -76,14 +84,25 @@ describe('createReleaseBuckets', () => {
76
84
77
85
date : new Date ( 1508208094235 ) . toISOString ( ) ,
78
86
} ,
79
- // Should not be included
87
+ // Note this is included even though it is > maxTime
88
+ // because `maxTime` is actually the start time of the
89
+ // last time series item. We don't necessarily have the
90
+ // ending timestamp of that bucket
80
91
{
81
92
82
- date : new Date ( 1508208094236 ) . toISOString ( ) ,
93
+ date : new Date ( maxTime + 1 ) . toISOString ( ) ,
94
+ } ,
95
+ {
96
+
97
+ date : new Date ( maxTime + 10000 ) . toISOString ( ) ,
98
+ } ,
99
+ {
100
+
101
+ date : new Date ( minTime - 5000 ) . toISOString ( ) ,
83
102
} ,
84
103
] ;
85
104
86
- const buckets = createReleaseBuckets ( minTime , maxTime , releases ) ;
105
+ const buckets = createReleaseBuckets ( minTime , maxTime , finalTime , releases ) ;
87
106
88
107
expect ( buckets ) . toEqual ( [
89
108
{
@@ -110,11 +129,14 @@ describe('createReleaseBuckets', () => {
110
129
{
111
130
start : 1508208092816 ,
112
131
end : 1508208094235 ,
132
+ final : finalTime ,
113
133
releases : [
114
134
{ version :
'[email protected] ' , date :
new Date ( 1508208092816 ) . toISOString ( ) } ,
115
135
{ version :
'[email protected] ' , date :
new Date ( 1508208094230 ) . toISOString ( ) } ,
116
136
{ version :
'[email protected] ' , date :
new Date ( 1508208094235 ) . toISOString ( ) } ,
117
137
{ version :
'[email protected] ' , date :
new Date ( 1508208094235 ) . toISOString ( ) } ,
138
+ { version :
'[email protected] ' , date :
new Date ( 1508208094236 ) . toISOString ( ) } ,
139
+ { version :
'[email protected] ' , date :
new Date ( 1508208104235 ) . toISOString ( ) } ,
118
140
] ,
119
141
} ,
120
142
] ) ;
0 commit comments