@@ -340,6 +340,52 @@ describe('Test getObjectPageFeatures()', () => {
340340 expect ( result [ 0 ] . headerSections ?. [ 0 ] . stashed ) . toBe ( false ) ;
341341 } ) ;
342342
343+ test ( 'should extract header title binding path from header.properties.title.value' , async ( ) => {
344+ const objectPage = {
345+ name : 'objectPage1' ,
346+ pageType : 'ObjectPage' ,
347+ model : {
348+ root : {
349+ aggregations : {
350+ header : {
351+ properties : {
352+ title : { value : 'Customer' }
353+ } ,
354+ aggregations : { }
355+ } as unknown as TreeAggregation
356+ }
357+ } as unknown as TreeAggregation ,
358+ name : 'test' ,
359+ schema : { }
360+ }
361+ } ;
362+ const result = await getObjectPageFeatures ( [ objectPage ] as PageWithModelV4 [ ] , 'listReportPage' , mockLogger ) ;
363+ expect ( result ) . toHaveLength ( 1 ) ;
364+ expect ( result [ 0 ] . headerTitle ) . toBe ( 'Customer' ) ;
365+ } ) ;
366+
367+ test ( 'should leave headerTitle undefined when no title binding path is present' , async ( ) => {
368+ const objectPage = {
369+ name : 'objectPage1' ,
370+ pageType : 'ObjectPage' ,
371+ model : {
372+ root : {
373+ aggregations : {
374+ header : {
375+ properties : { title : { value : '' } } ,
376+ aggregations : { }
377+ } as unknown as TreeAggregation
378+ }
379+ } as unknown as TreeAggregation ,
380+ name : 'test' ,
381+ schema : { }
382+ }
383+ } ;
384+ const result = await getObjectPageFeatures ( [ objectPage ] as PageWithModelV4 [ ] , 'listReportPage' , mockLogger ) ;
385+ expect ( result ) . toHaveLength ( 1 ) ;
386+ expect ( result [ 0 ] . headerTitle ) . toBeUndefined ( ) ;
387+ } ) ;
388+
343389 test ( 'should extract header sections with facetId containing # replaced with ::' , async ( ) => {
344390 const objectPage = {
345391 name : 'objectPage1' ,
0 commit comments