11import { createElement as h } from 'react' ;
2- import { shallow } from 'enzyme ' ;
2+ import { render } from 'react-dom ' ;
33import { AfterDraf } from '..' ;
44
5- const isClient = typeof window === 'object' ;
65const sleep = ( time ) => new Promise ( ( resolve ) => setTimeout ( resolve , time ) ) ;
76
87describe ( '<AfterDraf>' , ( ) => {
@@ -11,50 +10,20 @@ describe('<AfterDraf>', () => {
1110 } ) ;
1211
1312 it ( 'waits for DRAF on client before rendering' , async ( ) => {
14- const wrapper = shallow (
15- < AfterDraf >
16- < div > foobar</ div >
17- </ AfterDraf >
18- ) ;
19-
20- if ( isClient ) {
21- expect ( wrapper . html ( ) ) . toBe ( null ) ;
22- } else {
23- expect ( wrapper . html ( ) ) . toBe ( '<div>foobar</div>' ) ;
24- }
25-
26- await sleep ( 100 ) ;
27-
28- wrapper . update ( ) ;
13+ const div = document . createElement ( 'div' ) ;
2914
30- expect ( wrapper . html ( ) ) . toBe ( '<div>foobar</div>' ) ;
31- } ) ;
32-
33- it ( 'waits for DRAF every mount' , async ( ) => {
34- shallow (
35- < AfterDraf >
15+ document . body . appendChild ( div ) ;
16+ render ( < AfterDraf >
3617 < div > foobar</ div >
37- </ AfterDraf >
38- ) ;
39-
40- await sleep ( 100 ) ;
41-
42- const wrapper2 = shallow (
43- < AfterDraf >
44- < div > bazooka</ div >
45- </ AfterDraf >
46- ) ;
18+ </ AfterDraf > ,
19+ div ) ;
4720
48- if ( isClient ) {
49- expect ( wrapper2 . html ( ) ) . toBe ( null ) ;
50- } else {
51- expect ( wrapper2 . html ( ) ) . toBe ( '<div>bazooka</div>' ) ;
52- }
21+ expect ( div . innerHTML ) . toBe ( '' ) ;
5322
5423 await sleep ( 100 ) ;
5524
56- wrapper2 . update ( ) ;
25+ expect ( div . innerHTML ) . toBe ( '<div>foobar</div>' ) ;
5726
58- expect ( wrapper2 . html ( ) ) . toBe ( '< div>bazooka</div>' ) ;
27+ document . body . removeChild ( div ) ;
5928 } ) ;
6029} ) ;
0 commit comments