@@ -247,7 +247,7 @@ describe("use-resolved-fields", () => {
247247 } ) ;
248248 } ) ;
249249
250- it ( "tracks lastFields when rerendering " , async ( ) => {
250+ it ( "calls resolver with appropriate fields on props change " , async ( ) => {
251251 const mockResolveFields = jest . fn ( ) . mockResolvedValue ( {
252252 title : { type : "textarea" } ,
253253 } ) ;
@@ -261,9 +261,13 @@ describe("use-resolved-fields", () => {
261261 params = renderHook ( ( ) => useResolvedFields ( ) ) ;
262262 } ) ;
263263
264+ // update state and trigger re-render
264265 useAppContextMock . mockReturnValue ( {
265266 ...context ,
266- state : { ...context . state , data : { root : { foo : "bar" } } } , // trigger re-render
267+ state : {
268+ ...context . state ,
269+ data : { ...context . state . data , root : { props : { foo : "bar" } } } ,
270+ } ,
267271 } ) ;
268272
269273 await act ( ( ) => {
@@ -275,20 +279,20 @@ describe("use-resolved-fields", () => {
275279 expect ( result . current [ 0 ] ) . toEqual ( { title : { type : "textarea" } } ) ;
276280 expect ( result . current [ 1 ] ) . toBe ( false ) ;
277281 expect ( mockResolveFields ) . toHaveBeenCalledTimes ( 2 ) ;
278- expect ( mockResolveFields ) . toHaveBeenCalledWith (
279- { props : { } , readOnly : undefined } ,
282+ expect ( mockResolveFields . mock . calls [ 1 ] ) . toEqual ( [
283+ { props : { foo : "bar" } , readOnly : undefined } ,
280284 {
281285 appState : {
282- data : { content : [ ] , root : { props : { } } } ,
286+ data : { content : [ ] , root : { props : { foo : "bar" } } } , // props changed
283287 ui : { itemSelector : null } ,
284288 } ,
285- changed : { } ,
289+ changed : { foo : true } , // track changed
286290 fields : { title : { type : "text" } } ,
287- lastData : { } ,
288- lastFields : { title : { type : "textarea" } } ,
291+ lastData : { props : { } , readOnly : undefined } ,
292+ lastFields : { title : { type : "textarea" } } , // track previous fields due to re-render
289293 parent : null ,
290- }
291- ) ;
294+ } ,
295+ ] ) ;
292296 } ) ;
293297 } ) ;
294298
0 commit comments