@@ -129,4 +129,62 @@ describe('ObjectPageTitle', () => {
129129 cy . findByTestId ( 'expandedContent' ) . should ( 'not.exist' ) ;
130130 } ) ;
131131 } ) ;
132+
133+ [
134+ { snappedHeader : 'Snapped Header' , header : 'Header' } ,
135+ { snappedHeader : undefined , header : 'Header' } ,
136+ { snappedHeader : undefined , header : undefined } ,
137+ { snappedHeader : 'Snapped Header' , header : undefined } ,
138+ ] . forEach ( ( { snappedHeader, header } ) => {
139+ const titleParts = [ ] ;
140+ if ( snappedHeader ) {
141+ titleParts . push ( 'snappedHeader' ) ;
142+ }
143+ if ( header ) {
144+ titleParts . push ( 'header' ) ;
145+ }
146+ const title = titleParts . length ? titleParts . join ( ' & ' ) : 'no headers' ;
147+
148+ it ( `renders with ${ title } ` , ( ) => {
149+ cy . mount (
150+ < PageComponent
151+ childrenScrollable
152+ pageProps = { {
153+ headerArea : (
154+ < ObjectPageHeader key = "headerContent" style = { { height : '100px' , background : 'lightblue' } } >
155+ Header Section
156+ </ ObjectPageHeader >
157+ ) ,
158+ style : { height : '800px' } ,
159+ } }
160+ titleProps = { {
161+ snappedHeader,
162+ header,
163+ } }
164+ /> ,
165+ ) ;
166+
167+ // not snapped - always show header
168+ cy . findByText ( 'Snapped Header' ) . should ( 'not.exist' ) ;
169+ if ( header ) {
170+ cy . findByText ( 'Header' ) . should ( 'exist' ) ;
171+ } else {
172+ cy . findByText ( 'Header' ) . should ( 'not.exist' ) ;
173+ }
174+
175+ cy . findByTestId ( 'page' ) . scrollTo ( 'bottom' ) ;
176+
177+ // snapped - show snapped header if defined otherwise show header
178+ if ( snappedHeader ) {
179+ cy . findByText ( 'Snapped Header' ) . should ( 'exist' ) ;
180+ cy . findByText ( 'Header' ) . should ( 'not.exist' ) ;
181+ } else if ( header ) {
182+ cy . findByText ( 'Snapped Header' ) . should ( 'not.exist' ) ;
183+ cy . findByText ( 'Header' ) . should ( 'exist' ) ;
184+ } else {
185+ cy . findByText ( 'Snapped Header' ) . should ( 'not.exist' ) ;
186+ cy . findByText ( 'Header' ) . should ( 'not.exist' ) ;
187+ }
188+ } ) ;
189+ } ) ;
132190} ) ;
0 commit comments