@@ -4,7 +4,12 @@ import React from "react";
44import { formatDate , KeyType } from "../date_utils" ;
55import DatePicker from "../index" ;
66
7- import { getKey , safeQuerySelector , safeQuerySelectorAll } from "./test_utils" ;
7+ import {
8+ getKey ,
9+ SafeElementWrapper ,
10+ safeQuerySelector ,
11+ safeQuerySelectorAll ,
12+ } from "./test_utils" ;
813
914const MIN_TIME_LI_LEN = 2 ;
1015
@@ -38,12 +43,11 @@ describe("TimePicker", () => {
3843
3944 fireEvent . focus ( instance . input ) ;
4045
41- const time = safeQuerySelector (
42- datePicker ,
43- ".react-datepicker__time-container" ,
44- ) ;
45- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
46- fireEvent . click ( lis [ 1 ] ! ) ;
46+ const timeOption = new SafeElementWrapper ( datePicker )
47+ . safeQuerySelector ( ".react-datepicker__time-container" )
48+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
49+ . getElement ( ) ;
50+ fireEvent . click ( timeOption ) ;
4751 expect ( getInputString ( ) ) . toBe ( "February 28, 2018 12:30 AM" ) ;
4852 } ) ;
4953
@@ -178,12 +182,13 @@ describe("TimePicker", () => {
178182 throw new Error ( "input is null/undefined" ) ;
179183 }
180184 fireEvent . focus ( instance . input ) ;
181- const time = safeQuerySelector (
182- datePicker ,
183- ".react-datepicker__time-container" ,
184- ) ;
185- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
186- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Enter ) ) ;
185+
186+ const timeOption = new SafeElementWrapper ( datePicker )
187+ . safeQuerySelector ( ".react-datepicker__time-container" )
188+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
189+ . getElement ( ) ;
190+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Enter ) ) ;
191+
187192 expect ( getInputString ( ) ) . toBe ( "February 28, 2018 12:30 AM" ) ;
188193 } ) ;
189194
@@ -193,12 +198,11 @@ describe("TimePicker", () => {
193198 throw new Error ( "input is null/undefined" ) ;
194199 }
195200 fireEvent . focus ( instance . input ) ;
196- const time = safeQuerySelector (
197- datePicker ,
198- ".react-datepicker__time-container" ,
199- ) ;
200- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
201- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Space ) ) ;
201+ const timeOption = new SafeElementWrapper ( datePicker )
202+ . safeQuerySelector ( ".react-datepicker__time-container" )
203+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
204+ . getElement ( ) ;
205+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Space ) ) ;
202206 expect ( getInputString ( ) ) . toBe ( "February 28, 2018 12:30 AM" ) ;
203207 } ) ;
204208
@@ -210,14 +214,13 @@ describe("TimePicker", () => {
210214 }
211215
212216 const input = safeQuerySelector ( datePicker , "input" ) ;
213-
214217 fireEvent . focus ( instance . input ) ;
215- const time = safeQuerySelector (
216- datePicker ,
217- ".react-datepicker__time-container" ,
218- ) ;
219- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
220- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Enter ) ) ;
218+
219+ const timeOption = new SafeElementWrapper ( datePicker )
220+ . safeQuerySelector ( ".react-datepicker__time-container" )
221+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
222+ . getElement ( ) ;
223+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Enter ) ) ;
221224
222225 await waitFor ( ( ) => {
223226 expect ( document . activeElement ) . toBe ( input ) ;
@@ -230,12 +233,13 @@ describe("TimePicker", () => {
230233 throw new Error ( "input is null/undefined" ) ;
231234 }
232235 fireEvent . focus ( instance . input ) ;
233- const time = safeQuerySelector (
234- datePicker ,
235- ".react-datepicker__time-container" ,
236- ) ;
237- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
238- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Escape ) ) ;
236+
237+ const timeOption = new SafeElementWrapper ( datePicker )
238+ . safeQuerySelector ( ".react-datepicker__time-container" )
239+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
240+ . getElement ( ) ;
241+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Escape ) ) ;
242+
239243 expect ( getInputString ( ) ) . toBe ( "February 28, 2018 4:43 PM" ) ;
240244 } ) ;
241245
@@ -248,12 +252,13 @@ describe("TimePicker", () => {
248252 throw new Error ( "input is null/undefined" ) ;
249253 }
250254 fireEvent . focus ( instance . input ) ;
251- const time = safeQuerySelector (
252- datePicker ,
253- ".react-datepicker__time-container" ,
254- ) ;
255- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
256- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Escape ) ) ;
255+
256+ const timeOption = new SafeElementWrapper ( datePicker )
257+ . safeQuerySelector ( ".react-datepicker__time-container" )
258+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
259+ . getElement ( ) ;
260+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Escape ) ) ;
261+
257262 expect ( onKeyDownSpy ) . toHaveBeenCalledTimes ( 1 ) ;
258263 } ) ;
259264
@@ -266,12 +271,13 @@ describe("TimePicker", () => {
266271 throw new Error ( "input is null/undefined" ) ;
267272 }
268273 fireEvent . focus ( instance . input ) ;
269- const time = safeQuerySelector (
270- datePicker ,
271- ".react-datepicker__time-container" ,
272- ) ;
273- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
274- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Enter ) ) ;
274+
275+ const timeOption = new SafeElementWrapper ( datePicker )
276+ . safeQuerySelector ( ".react-datepicker__time-container" )
277+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
278+ . getElement ( ) ;
279+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Enter ) ) ;
280+
275281 expect ( onKeyDownSpy ) . toHaveBeenCalledTimes ( 1 ) ;
276282 } ) ;
277283
@@ -284,12 +290,13 @@ describe("TimePicker", () => {
284290 throw new Error ( "input is null/undefined" ) ;
285291 }
286292 fireEvent . focus ( instance . input ) ;
287- const time = safeQuerySelector (
288- datePicker ,
289- ".react-datepicker__time-container" ,
290- ) ;
291- const lis = safeQuerySelectorAll ( time , "li" , MIN_TIME_LI_LEN ) ;
292- fireEvent . keyDown ( lis [ 1 ] ! , getKey ( KeyType . Space ) ) ;
293+
294+ const timeOption = new SafeElementWrapper ( datePicker )
295+ . safeQuerySelector ( ".react-datepicker__time-container" )
296+ . safeQuerySelectorAll ( "li" , MIN_TIME_LI_LEN ) [ 1 ] !
297+ . getElement ( ) ;
298+ fireEvent . keyDown ( timeOption , getKey ( KeyType . Space ) ) ;
299+
293300 expect ( onKeyDownSpy ) . toHaveBeenCalledTimes ( 1 ) ;
294301 } ) ;
295302
0 commit comments