@@ -69,6 +69,26 @@ describe('useTreeData', function () {
6969 expect ( result . current . items [ 0 ] . children [ 0 ] . children [ 1 ] . value ) . toEqual ( { name : 'Devon' } ) ;
7070 expect ( result . current . items [ 0 ] . children [ 1 ] ) . toBe ( initialResult . items [ 0 ] . children [ 1 ] ) ;
7171 expect ( result . current . items [ 0 ] . children [ 2 ] ) . toBe ( initialResult . items [ 0 ] . children [ 2 ] ) ;
72+
73+ ( { result} = renderHook ( ( ) => useTreeData ( { initialItems : [ ] , getChildren, getKey} ) ) ) ;
74+
75+ expect ( result . current . items ) . toHaveLength ( 0 ) ;
76+
77+ act ( ( ) => {
78+ result . current . insert ( null , 0 , { name : 'John' } ) ;
79+ } ) ;
80+
81+ expect ( result . current . items ) . toHaveLength ( 1 ) ;
82+ expect ( result . current . items [ 0 ] . value ) . toEqual ( { name : 'John' } ) ;
83+
84+ act ( ( ) => {
85+ result . current . insert ( 'John' , 0 , { name : 'Devon' } ) ;
86+ } ) ;
87+
88+ expect ( result . current . items ) . toHaveLength ( 1 ) ;
89+ expect ( result . current . items [ 0 ] . value ) . toEqual ( { name : 'John' } ) ;
90+ expect ( result . current . items [ 0 ] . children ) . toHaveLength ( 1 ) ;
91+ expect ( result . current . items [ 0 ] . children [ 0 ] . value ) . toEqual ( { name : 'Devon' } ) ;
7292 } ) ;
7393
7494 it ( 'should insert multiple items into a child node' , function ( ) {
@@ -90,6 +110,27 @@ describe('useTreeData', function () {
90110 expect ( result . current . items [ 0 ] . children [ 0 ] . children [ 2 ] . value ) . toEqual ( { name : 'Danni' } ) ;
91111 expect ( result . current . items [ 0 ] . children [ 1 ] ) . toBe ( initialResult . items [ 0 ] . children [ 1 ] ) ;
92112 expect ( result . current . items [ 0 ] . children [ 2 ] ) . toBe ( initialResult . items [ 0 ] . children [ 2 ] ) ;
113+
114+ ( { result} = renderHook ( ( ) => useTreeData ( { initialItems : [ ] , getChildren, getKey} ) ) ) ;
115+
116+ expect ( result . current . items ) . toHaveLength ( 0 ) ;
117+
118+ act ( ( ) => {
119+ result . current . insert ( null , 0 , { name : 'John' } ) ;
120+ } ) ;
121+
122+ expect ( result . current . items ) . toHaveLength ( 1 ) ;
123+ expect ( result . current . items [ 0 ] . value ) . toEqual ( { name : 'John' } ) ;
124+
125+ act ( ( ) => {
126+ result . current . insert ( 'John' , 0 , { name : 'Devon' } , { name : 'Danni' } ) ;
127+ } ) ;
128+
129+ expect ( result . current . items ) . toHaveLength ( 1 ) ;
130+ expect ( result . current . items [ 0 ] . value ) . toEqual ( { name : 'John' } ) ;
131+ expect ( result . current . items [ 0 ] . children ) . toHaveLength ( 2 ) ;
132+ expect ( result . current . items [ 0 ] . children [ 0 ] . value ) . toEqual ( { name : 'Devon' } ) ;
133+ expect ( result . current . items [ 0 ] . children [ 1 ] . value ) . toEqual ( { name : 'Danni' } ) ;
93134 } ) ;
94135
95136 it ( 'should insert an item into the root' , function ( ) {
0 commit comments