@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
import { expect } from 'chai' ;
3
3
import { spy , useFakeTimers , SinonFakeTimers } from 'sinon' ;
4
4
import TextField from '@material-ui/core/TextField' ;
5
- import { fireEvent , screen } from 'test/utils' ;
5
+ import { act , fireEvent , screen } from 'test/utils' ;
6
6
import PickersDay from '@material-ui/lab/PickersDay' ;
7
7
import CalendarPickerSkeleton from '@material-ui/lab/CalendarPickerSkeleton' ;
8
8
import MobileDatePicker from '@material-ui/lab/MobileDatePicker' ;
@@ -16,7 +16,14 @@ import {
16
16
} from '../internal/pickers/test-utils' ;
17
17
18
18
describe ( '<MobileDatePicker />' , ( ) => {
19
- const render = createPickerRender ( { strict : false } ) ;
19
+ let clock : SinonFakeTimers ;
20
+ beforeEach ( ( ) => {
21
+ clock = useFakeTimers ( new Date ( ) ) ;
22
+ } ) ;
23
+ afterEach ( ( ) => {
24
+ clock . restore ( ) ;
25
+ } ) ;
26
+ const render = createPickerRender ( ) ;
20
27
21
28
it ( 'Accepts date on `OK` button click' , ( ) => {
22
29
const onChangeMock = spy ( ) ;
@@ -267,39 +274,29 @@ describe('<MobileDatePicker />', () => {
267
274
expect ( screen . getByText ( 'July' ) ) . toBeVisible ( ) ;
268
275
} ) ;
269
276
270
- describe ( 'mock time' , ( ) => {
271
- let clock : SinonFakeTimers ;
272
-
273
- beforeEach ( ( ) => {
274
- clock = useFakeTimers ( new Date ( ) ) ;
275
- } ) ;
276
-
277
- afterEach ( ( ) => {
278
- clock . restore ( ) ;
279
- } ) ;
280
-
281
- it ( 'prop `showTodayButton` – accept current date when "today" button is clicked' , ( ) => {
282
- const onCloseMock = spy ( ) ;
283
- const handleChange = spy ( ) ;
284
- render (
285
- < MobileDatePicker
286
- renderInput = { ( params ) => < TextField { ...params } /> }
287
- showTodayButton
288
- cancelText = "stream"
289
- onClose = { onCloseMock }
290
- onChange = { handleChange }
291
- value = { adapterToUse . date ( '2018-01-01T00:00:00.000' ) }
292
- DialogProps = { { TransitionComponent : FakeTransitionComponent } }
293
- /> ,
294
- ) ;
295
- const start = adapterToUse . date ( ) ;
296
- fireEvent . click ( screen . getByRole ( 'textbox' ) ) ;
277
+ it ( 'prop `showTodayButton` – accept current date when "today" button is clicked' , ( ) => {
278
+ const onCloseMock = spy ( ) ;
279
+ const handleChange = spy ( ) ;
280
+ render (
281
+ < MobileDatePicker
282
+ renderInput = { ( params ) => < TextField { ...params } /> }
283
+ showTodayButton
284
+ cancelText = "stream"
285
+ onClose = { onCloseMock }
286
+ onChange = { handleChange }
287
+ value = { adapterToUse . date ( '2018-01-01T00:00:00.000' ) }
288
+ DialogProps = { { TransitionComponent : FakeTransitionComponent } }
289
+ /> ,
290
+ ) ;
291
+ const start = adapterToUse . date ( ) ;
292
+ fireEvent . click ( screen . getByRole ( 'textbox' ) ) ;
293
+ act ( ( ) => {
297
294
clock . tick ( 10 ) ;
298
- fireEvent . click ( screen . getByText ( / t o d a y / i) ) ;
299
-
300
- expect ( onCloseMock . callCount ) . to . equal ( 1 ) ;
301
- expect ( handleChange . callCount ) . to . equal ( 1 ) ;
302
- expect ( adapterToUse . getDiff ( handleChange . args [ 0 ] [ 0 ] , start ) ) . to . equal ( 10 ) ;
303
295
} ) ;
296
+ fireEvent . click ( screen . getByText ( / t o d a y / i) ) ;
297
+
298
+ expect ( onCloseMock . callCount ) . to . equal ( 1 ) ;
299
+ expect ( handleChange . callCount ) . to . equal ( 1 ) ;
300
+ expect ( adapterToUse . getDiff ( handleChange . args [ 0 ] [ 0 ] , start ) ) . to . equal ( 10 ) ;
304
301
} ) ;
305
302
} ) ;
0 commit comments