@@ -24,7 +24,7 @@ import {
2424 RangeSelectEvent ,
2525} from './create_filters_from_range_select' ;
2626
27- import { IndexPatternsContract } from '../../../public' ;
27+ import { IndexPatternsContract , RangeFilter } from '../../../public' ;
2828import { dataPluginMock } from '../../../public/mocks' ;
2929import { setIndexPatterns } from '../../../public/services' ;
3030import { mockDataServices } from '../../../public/search/aggs/test_helpers' ;
@@ -34,33 +34,29 @@ describe('brushEvent', () => {
3434 const JAN_01_2014 = 1388559600000 ;
3535 let baseEvent : RangeSelectEvent ;
3636
37+ const indexPattern = {
38+ id : 'indexPatternId' ,
39+ timeFieldName : 'time' ,
40+ fields : {
41+ getByName : ( ) => undefined ,
42+ filter : ( ) => [ ] ,
43+ } ,
44+ } ;
45+
3746 const aggConfigs = [
3847 {
3948 params : {
4049 field : { } ,
4150 } ,
42- getIndexPattern : ( ) => ( {
43- timeFieldName : 'time' ,
44- fields : {
45- getByName : ( ) => undefined ,
46- filter : ( ) => [ ] ,
47- } ,
48- } ) ,
51+ getIndexPattern : ( ) => indexPattern ,
4952 } ,
5053 ] ;
5154
5255 beforeEach ( ( ) => {
5356 mockDataServices ( ) ;
5457 setIndexPatterns ( ( {
5558 ...dataPluginMock . createStartContract ( ) . indexPatterns ,
56- get : async ( ) => ( {
57- id : 'indexPatternId' ,
58- timeFieldName : 'time' ,
59- fields : {
60- getByName : ( ) => undefined ,
61- filter : ( ) => [ ] ,
62- } ,
63- } ) ,
59+ get : async ( ) => indexPattern ,
6460 } as unknown ) as IndexPatternsContract ) ;
6561
6662 baseEvent = {
@@ -90,7 +86,7 @@ describe('brushEvent', () => {
9086
9187 test ( 'ignores event when data.xAxisField not provided' , async ( ) => {
9288 const filter = await createFiltersFromRangeSelectAction ( baseEvent ) ;
93- expect ( filter ) . toBeUndefined ( ) ;
89+ expect ( filter ) . toEqual ( [ ] ) ;
9490 } ) ;
9591
9692 describe ( 'handles an event when the x-axis field is a date field' , ( ) => {
@@ -100,18 +96,17 @@ describe('brushEvent', () => {
10096 name : 'time' ,
10197 type : 'date' ,
10298 } ;
103- baseEvent . data . ordered = { date : true } ;
10499 } ) ;
105100
106101 afterAll ( ( ) => {
107102 baseEvent . range = [ ] ;
108- baseEvent . data . ordered = { date : false } ;
103+ aggConfigs [ 0 ] . params . field = { } ;
109104 } ) ;
110105
111106 test ( 'by ignoring the event when range spans zero time' , async ( ) => {
112107 baseEvent . range = [ JAN_01_2014 , JAN_01_2014 ] ;
113108 const filter = await createFiltersFromRangeSelectAction ( baseEvent ) ;
114- expect ( filter ) . toBeUndefined ( ) ;
109+ expect ( filter ) . toEqual ( [ ] ) ;
115110 } ) ;
116111
117112 test ( 'by updating the timefilter' , async ( ) => {
@@ -120,9 +115,10 @@ describe('brushEvent', () => {
120115 expect ( filter ) . toBeDefined ( ) ;
121116
122117 if ( filter . length ) {
123- expect ( filter [ 0 ] . range . time . gte ) . toBe ( new Date ( JAN_01_2014 ) . toISOString ( ) ) ;
118+ const rangeFilter = filter [ 0 ] as RangeFilter ;
119+ expect ( rangeFilter . range . time . gte ) . toBe ( new Date ( JAN_01_2014 ) . toISOString ( ) ) ;
124120 // Set to a baseline timezone for comparison.
125- expect ( filter [ 0 ] . range . time . lt ) . toBe ( new Date ( JAN_01_2014 + DAY_IN_MS ) . toISOString ( ) ) ;
121+ expect ( rangeFilter . range . time . lt ) . toBe ( new Date ( JAN_01_2014 + DAY_IN_MS ) . toISOString ( ) ) ;
126122 }
127123 } ) ;
128124 } ) ;
@@ -133,12 +129,11 @@ describe('brushEvent', () => {
133129 name : 'anotherTimeField' ,
134130 type : 'date' ,
135131 } ;
136- baseEvent . data . ordered = { date : true } ;
137132 } ) ;
138133
139134 afterAll ( ( ) => {
140135 baseEvent . range = [ ] ;
141- baseEvent . data . ordered = { date : false } ;
136+ aggConfigs [ 0 ] . params . field = { } ;
142137 } ) ;
143138
144139 test ( 'creates a new range filter' , async ( ) => {
@@ -150,9 +145,10 @@ describe('brushEvent', () => {
150145 expect ( filter ) . toBeDefined ( ) ;
151146
152147 if ( filter . length ) {
153- expect ( filter [ 0 ] . range . anotherTimeField . gte ) . toBe ( moment ( rangeBegin ) . toISOString ( ) ) ;
154- expect ( filter [ 0 ] . range . anotherTimeField . lt ) . toBe ( moment ( rangeEnd ) . toISOString ( ) ) ;
155- expect ( filter [ 0 ] . range . anotherTimeField ) . toHaveProperty (
148+ const rangeFilter = filter [ 0 ] as RangeFilter ;
149+ expect ( rangeFilter . range . anotherTimeField . gte ) . toBe ( moment ( rangeBegin ) . toISOString ( ) ) ;
150+ expect ( rangeFilter . range . anotherTimeField . lt ) . toBe ( moment ( rangeEnd ) . toISOString ( ) ) ;
151+ expect ( rangeFilter . range . anotherTimeField ) . toHaveProperty (
156152 'format' ,
157153 'strict_date_optional_time'
158154 ) ;
@@ -176,7 +172,7 @@ describe('brushEvent', () => {
176172 test ( 'by ignoring the event when range does not span at least 2 values' , async ( ) => {
177173 baseEvent . range = [ 1 ] ;
178174 const filter = await createFiltersFromRangeSelectAction ( baseEvent ) ;
179- expect ( filter ) . toBeUndefined ( ) ;
175+ expect ( filter ) . toEqual ( [ ] ) ;
180176 } ) ;
181177
182178 test ( 'by creating a new filter' , async ( ) => {
@@ -186,9 +182,10 @@ describe('brushEvent', () => {
186182 expect ( filter ) . toBeDefined ( ) ;
187183
188184 if ( filter . length ) {
189- expect ( filter [ 0 ] . range . numberField . gte ) . toBe ( 1 ) ;
190- expect ( filter [ 0 ] . range . numberField . lt ) . toBe ( 4 ) ;
191- expect ( filter [ 0 ] . range . numberField ) . not . toHaveProperty ( 'format' ) ;
185+ const rangeFilter = filter [ 0 ] as RangeFilter ;
186+ expect ( rangeFilter . range . numberField . gte ) . toBe ( 1 ) ;
187+ expect ( rangeFilter . range . numberField . lt ) . toBe ( 4 ) ;
188+ expect ( rangeFilter . range . numberField ) . not . toHaveProperty ( 'format' ) ;
192189 }
193190 } ) ;
194191 } ) ;
0 commit comments