@@ -111,6 +111,33 @@ describe('createForm', () => {
111
111
expect ( form . getFormGraph ( ) ) . toMatchSnapshot ( )
112
112
} )
113
113
114
+ const sleep = ( d = 1000 ) => new Promise ( ( resolve ) => {
115
+ setTimeout ( ( ) => {
116
+ resolve ( )
117
+ } , d )
118
+ } )
119
+
120
+ test ( 'invalid initialValue will not trigger validate' , async ( ) => {
121
+ const form = createForm ( )
122
+ const field = form . registerField ( {
123
+ name : 'aa' ,
124
+ rules :[ {
125
+ required :true
126
+ } ]
127
+ } )
128
+ const mutators = form . createMutators ( field )
129
+ field . subscribe ( ( ) => {
130
+ mutators . validate ( { throwErrors : false } )
131
+ } )
132
+ form . setFormState ( state => {
133
+ state . initialValues = {
134
+ aa : null
135
+ }
136
+ } )
137
+ await sleep ( 10 )
138
+ expect ( field . getState ( state => state . errors ) . length ) . toEqual ( 1 )
139
+ } )
140
+
114
141
test ( 'lifecycles' , ( ) => {
115
142
const onFormInit = jest . fn ( )
116
143
const onFieldInit = jest . fn ( )
@@ -437,9 +464,9 @@ describe('clearErrors', () => {
437
464
expect ( form . getFormState ( state => state . errors ) ) . toEqual ( [ ] )
438
465
} )
439
466
440
- test ( 'wildcard path' , async ( ) => { } )
467
+ test ( 'wildcard path' , async ( ) => { } )
441
468
442
- test ( 'effect' , async ( ) => { } )
469
+ test ( 'effect' , async ( ) => { } )
443
470
} )
444
471
445
472
describe ( 'validate' , ( ) => {
@@ -487,7 +514,7 @@ describe('validate', () => {
487
514
488
515
try {
489
516
await form . submit ( )
490
- } catch ( e ) { }
517
+ } catch ( e ) { }
491
518
expect ( onValidateFailedTrigger ) . toBeCalledTimes ( 1 )
492
519
} )
493
520
@@ -515,7 +542,7 @@ describe('validate', () => {
515
542
} ) // CustomValidator error
516
543
try {
517
544
await form . submit ( )
518
- } catch ( e ) { }
545
+ } catch ( e ) { }
519
546
expect ( onValidateFailedTrigger ) . toBeCalledTimes ( 1 )
520
547
} )
521
548
@@ -1560,16 +1587,16 @@ describe('major sences', () => {
1560
1587
expect ( form . getFormGraph ( ) ) . toMatchSnapshot ( )
1561
1588
} )
1562
1589
1563
- test ( 'visible onChange' , ( ) => {
1590
+ test ( 'visible onChange' , ( ) => {
1564
1591
const onChangeHandler = jest . fn ( )
1565
1592
const form = createForm ( {
1566
- initialValues :{
1567
- aa :123
1593
+ initialValues : {
1594
+ aa : 123
1568
1595
} ,
1569
- onChange :onChangeHandler
1596
+ onChange : onChangeHandler
1570
1597
} )
1571
1598
form . registerField ( {
1572
- name :'aa'
1599
+ name : 'aa'
1573
1600
} )
1574
1601
form . setFieldState ( 'aa' , state => {
1575
1602
state . visible = false
0 commit comments