@@ -86,7 +86,8 @@ describe('useViewModelInstance - RiveFile with instanceName parameter', () => {
8686 'PersonInstance'
8787 ) ;
8888 expect ( defaultViewModel . createDefaultInstance ) . not . toHaveBeenCalled ( ) ;
89- expect ( result . current ) . toBe ( personInstance ) ;
89+ expect ( result . current . instance ) . toBe ( personInstance ) ;
90+ expect ( result . current . error ) . toBeNull ( ) ;
9091 } ) ;
9192
9293 it ( 'should use defaultArtboardViewModel and createDefaultInstance when no instanceName provided' , ( ) => {
@@ -102,7 +103,8 @@ describe('useViewModelInstance - RiveFile with instanceName parameter', () => {
102103 ) ;
103104 expect ( defaultViewModel . createDefaultInstance ) . toHaveBeenCalled ( ) ;
104105 expect ( defaultViewModel . createInstanceByName ) . not . toHaveBeenCalled ( ) ;
105- expect ( result . current ) . toBe ( defaultInstance ) ;
106+ expect ( result . current . instance ) . toBe ( defaultInstance ) ;
107+ expect ( result . current . error ) . toBeNull ( ) ;
106108 } ) ;
107109
108110 it ( 'should return null when instance name not found and required is false' , ( ) => {
@@ -116,7 +118,8 @@ describe('useViewModelInstance - RiveFile with instanceName parameter', () => {
116118 useViewModelInstance ( mockRiveFile , { instanceName : 'NonExistent' } )
117119 ) ;
118120
119- expect ( result . current ) . toBeNull ( ) ;
121+ expect ( result . current . instance ) . toBeNull ( ) ;
122+ expect ( result . current . error ) . toContain ( 'not found' ) ;
120123 } ) ;
121124
122125 it ( 'should throw when instance name not found and required is true' , ( ) => {
@@ -145,7 +148,8 @@ describe('useViewModelInstance - RiveFile with instanceName parameter', () => {
145148 useViewModelInstance ( mockRiveFile , { artboardName : 'MissingArtboard' } )
146149 ) ;
147150
148- expect ( result . current ) . toBeNull ( ) ;
151+ expect ( result . current . instance ) . toBeNull ( ) ;
152+ expect ( result . current . error ) . toContain ( 'not found' ) ;
149153 } ) ;
150154
151155 it ( 'should throw when artboardName not found and required is true' , ( ) => {
@@ -203,7 +207,8 @@ describe('useViewModelInstance - RiveFile with artboardName parameter', () => {
203207 name : 'MainArtboard' ,
204208 } ) ;
205209 expect ( mainArtboardViewModel . createDefaultInstance ) . toHaveBeenCalled ( ) ;
206- expect ( result . current ) . toBe ( mainInstance ) ;
210+ expect ( result . current . instance ) . toBe ( mainInstance ) ;
211+ expect ( result . current . error ) . toBeNull ( ) ;
207212 } ) ;
208213
209214 it ( 'should combine artboardName and instanceName to get specific instance from specific artboard' , ( ) => {
@@ -230,7 +235,8 @@ describe('useViewModelInstance - RiveFile with artboardName parameter', () => {
230235 expect ( mainArtboardViewModel . createInstanceByName ) . toHaveBeenCalledWith (
231236 'SpecificInstance'
232237 ) ;
233- expect ( result . current ) . toBe ( specificInstance ) ;
238+ expect ( result . current . instance ) . toBe ( specificInstance ) ;
239+ expect ( result . current . error ) . toBeNull ( ) ;
234240 } ) ;
235241} ) ;
236242
@@ -252,7 +258,8 @@ describe('useViewModelInstance - RiveFile with viewModelName parameter', () => {
252258 expect ( mockRiveFile . viewModelByName ) . toHaveBeenCalledWith ( 'Settings' ) ;
253259 expect ( mockRiveFile . defaultArtboardViewModel ) . not . toHaveBeenCalled ( ) ;
254260 expect ( settingsViewModel . createDefaultInstance ) . toHaveBeenCalled ( ) ;
255- expect ( result . current ) . toBe ( settingsInstance ) ;
261+ expect ( result . current . instance ) . toBe ( settingsInstance ) ;
262+ expect ( result . current . error ) . toBeNull ( ) ;
256263 } ) ;
257264
258265 it ( 'should return null when viewModelName not found and required is false' , ( ) => {
@@ -264,7 +271,8 @@ describe('useViewModelInstance - RiveFile with viewModelName parameter', () => {
264271 useViewModelInstance ( mockRiveFile , { viewModelName : 'NonExistent' } )
265272 ) ;
266273
267- expect ( result . current ) . toBeNull ( ) ;
274+ expect ( result . current . instance ) . toBeNull ( ) ;
275+ expect ( result . current . error ) . toContain ( 'not found' ) ;
268276 } ) ;
269277
270278 it ( 'should throw when viewModelName not found and required is true' , ( ) => {
@@ -303,7 +311,8 @@ describe('useViewModelInstance - RiveFile with viewModelName parameter', () => {
303311 expect ( settingsViewModel . createInstanceByName ) . toHaveBeenCalledWith (
304312 'UserSettings'
305313 ) ;
306- expect ( result . current ) . toBe ( specificInstance ) ;
314+ expect ( result . current . instance ) . toBe ( specificInstance ) ;
315+ expect ( result . current . error ) . toBeNull ( ) ;
307316 } ) ;
308317} ) ;
309318
@@ -320,7 +329,8 @@ describe('useViewModelInstance - ViewModel source', () => {
320329
321330 expect ( mockViewModel . createInstanceByName ) . toHaveBeenCalledWith ( 'Gordon' ) ;
322331 expect ( mockViewModel . createDefaultInstance ) . not . toHaveBeenCalled ( ) ;
323- expect ( result . current ) . toBe ( namedInstance ) ;
332+ expect ( result . current . instance ) . toBe ( namedInstance ) ;
333+ expect ( result . current . error ) . toBeNull ( ) ;
324334 } ) ;
325335
326336 it ( 'should use createInstance when useNew is true' , ( ) => {
@@ -334,7 +344,8 @@ describe('useViewModelInstance - ViewModel source', () => {
334344
335345 expect ( mockViewModel . createInstance ) . toHaveBeenCalled ( ) ;
336346 expect ( mockViewModel . createDefaultInstance ) . not . toHaveBeenCalled ( ) ;
337- expect ( result . current ) . toBe ( newInstance ) ;
347+ expect ( result . current . instance ) . toBe ( newInstance ) ;
348+ expect ( result . current . error ) . toBeNull ( ) ;
338349 } ) ;
339350
340351 it ( 'should use createDefaultInstance when no params provided' , ( ) => {
@@ -344,6 +355,7 @@ describe('useViewModelInstance - ViewModel source', () => {
344355 const { result } = renderHook ( ( ) => useViewModelInstance ( mockViewModel ) ) ;
345356
346357 expect ( mockViewModel . createDefaultInstance ) . toHaveBeenCalled ( ) ;
347- expect ( result . current ) . toBe ( defaultInstance ) ;
358+ expect ( result . current . instance ) . toBe ( defaultInstance ) ;
359+ expect ( result . current . error ) . toBeNull ( ) ;
348360 } ) ;
349361} ) ;
0 commit comments