@@ -35,7 +35,7 @@ jest.mock('../../../legacy_imports', () => ({
3535 getTableAggs : jest . fn ( ) ,
3636} ) ) ;
3737jest . mock ( '../../../../../data/public/actions/filters/create_filters_from_event' , ( ) => ( {
38- createFiltersFromEvent : jest . fn ( ) . mockReturnValue ( [ 'yes' ] ) ,
38+ createFiltersFromEvent : jest . fn ( ) . mockResolvedValue ( [ 'yes' ] ) ,
3939} ) ) ;
4040
4141const vis = {
@@ -95,16 +95,8 @@ const uiState = {
9595 setSilent : jest . fn ( ) ,
9696} ;
9797
98- const flushPromises = ( ) => {
99- return new Promise ( resolve => {
100- setTimeout ( ( ) => {
101- resolve ( ) ;
102- } , 1000 ) ;
103- } ) ;
104- } ;
105-
106- const getWrapper = ( props ?: Partial < VisLegendProps > ) =>
107- mount (
98+ const getWrapper = async ( props ?: Partial < VisLegendProps > ) => {
99+ const wrapper = mount (
108100 < I18nProvider >
109101 < VisLegend
110102 position = "top"
@@ -117,6 +109,11 @@ const getWrapper = (props?: Partial<VisLegendProps>) =>
117109 </ I18nProvider >
118110 ) ;
119111
112+ await ( wrapper . find ( VisLegend ) . instance ( ) as VisLegend ) . refresh ( ) ;
113+ wrapper . update ( ) ;
114+ return wrapper ;
115+ } ;
116+
120117const getLegendItems = ( wrapper : ReactWrapper ) => wrapper . find ( '.visLegend__button' ) ;
121118
122119describe ( 'VisLegend Component' , ( ) => {
@@ -130,8 +127,7 @@ describe('VisLegend Component', () => {
130127 describe ( 'Legend open' , ( ) => {
131128 beforeEach ( async ( ) => {
132129 mockState . set ( 'vis.legendOpen' , true ) ;
133- wrapper = getWrapper ( ) ;
134- await flushPromises ( ) ;
130+ wrapper = await getWrapper ( ) ;
135131 } ) ;
136132
137133 it ( 'should match the snapshot' , ( ) => {
@@ -142,40 +138,35 @@ describe('VisLegend Component', () => {
142138 describe ( 'Legend closed' , ( ) => {
143139 beforeEach ( async ( ) => {
144140 mockState . set ( 'vis.legendOpen' , false ) ;
145- wrapper = getWrapper ( ) ;
146- await flushPromises ( ) ;
141+ wrapper = await getWrapper ( ) ;
147142 } ) ;
148143
149- it ( 'should match the snapshot' , async ( ) => {
150- await flushPromises ( ) ;
144+ it ( 'should match the snapshot' , ( ) => {
151145 expect ( wrapper . html ( ) ) . toMatchSnapshot ( ) ;
152146 } ) ;
153147 } ) ;
154148
155149 describe ( 'Highlighting' , ( ) => {
156150 beforeEach ( async ( ) => {
157- wrapper = getWrapper ( ) ;
158- await flushPromises ( ) ;
151+ wrapper = await getWrapper ( ) ;
159152 } ) ;
160153
161154 it ( 'should call highlight handler when legend item is focused' , async ( ) => {
162- await flushPromises ( ) ;
163155 const first = getLegendItems ( wrapper ) . first ( ) ;
156+
164157 first . simulate ( 'focus' ) ;
165158
166159 expect ( vislibVis . handler . highlight ) . toHaveBeenCalledTimes ( 1 ) ;
167160 } ) ;
168161
169162 it ( 'should call highlight handler when legend item is hovered' , async ( ) => {
170- await flushPromises ( ) ;
171163 const first = getLegendItems ( wrapper ) . first ( ) ;
172164 first . simulate ( 'mouseEnter' ) ;
173165
174166 expect ( vislibVis . handler . highlight ) . toHaveBeenCalledTimes ( 1 ) ;
175167 } ) ;
176168
177169 it ( 'should call unHighlight handler when legend item is blurred' , async ( ) => {
178- await flushPromises ( ) ;
179170 let first = getLegendItems ( wrapper ) . first ( ) ;
180171 first . simulate ( 'focus' ) ;
181172 first = getLegendItems ( wrapper ) . first ( ) ;
@@ -185,7 +176,6 @@ describe('VisLegend Component', () => {
185176 } ) ;
186177
187178 it ( 'should call unHighlight handler when legend item is unhovered' , async ( ) => {
188- await flushPromises ( ) ;
189179 const first = getLegendItems ( wrapper ) . first ( ) ;
190180
191181 first . simulate ( 'mouseEnter' ) ;
@@ -204,8 +194,7 @@ describe('VisLegend Component', () => {
204194 } ;
205195
206196 expect ( async ( ) => {
207- wrapper = getWrapper ( { vis : newVis } ) ;
208- await flushPromises ( ) ;
197+ wrapper = await getWrapper ( { vis : newVis } ) ;
209198 const first = getLegendItems ( wrapper ) . first ( ) ;
210199 first . simulate ( 'focus' ) ;
211200 first . simulate ( 'blur' ) ;
@@ -215,8 +204,7 @@ describe('VisLegend Component', () => {
215204
216205 describe ( 'Filtering' , ( ) => {
217206 beforeEach ( async ( ) => {
218- wrapper = getWrapper ( ) ;
219- await flushPromises ( ) ;
207+ wrapper = await getWrapper ( ) ;
220208 } ) ;
221209
222210 it ( 'should filter out when clicked' , ( ) => {
@@ -242,8 +230,7 @@ describe('VisLegend Component', () => {
242230
243231 describe ( 'Toggles details' , ( ) => {
244232 beforeEach ( async ( ) => {
245- wrapper = getWrapper ( ) ;
246- await flushPromises ( ) ;
233+ wrapper = await getWrapper ( ) ;
247234 } ) ;
248235
249236 it ( 'should show details when clicked' , ( ) => {
@@ -256,8 +243,7 @@ describe('VisLegend Component', () => {
256243
257244 describe ( 'setColor' , ( ) => {
258245 beforeEach ( async ( ) => {
259- wrapper = getWrapper ( ) ;
260- await flushPromises ( ) ;
246+ wrapper = await getWrapper ( ) ;
261247 } ) ;
262248
263249 it ( 'sets the color in the UI state' , ( ) => {
@@ -277,8 +263,7 @@ describe('VisLegend Component', () => {
277263 describe ( 'toggleLegend function' , ( ) => {
278264 it ( 'click should show legend once toggled from hidden' , async ( ) => {
279265 mockState . set ( 'vis.legendOpen' , false ) ;
280- wrapper = getWrapper ( ) ;
281- await flushPromises ( ) ;
266+ wrapper = await getWrapper ( ) ;
282267 const toggleButton = wrapper . find ( '.visLegend__toggle' ) . first ( ) ;
283268 toggleButton . simulate ( 'click' ) ;
284269
@@ -287,8 +272,7 @@ describe('VisLegend Component', () => {
287272
288273 it ( 'click should hide legend once toggled from shown' , async ( ) => {
289274 mockState . set ( 'vis.legendOpen' , true ) ;
290- wrapper = getWrapper ( ) ;
291- await flushPromises ( ) ;
275+ wrapper = await getWrapper ( ) ;
292276 const toggleButton = wrapper . find ( '.visLegend__toggle' ) . first ( ) ;
293277 toggleButton . simulate ( 'click' ) ;
294278
0 commit comments