@@ -57,7 +57,7 @@ describe('headerFooter', () => {
5757 } ;
5858 expect ( out ) . toEqualJSX (
5959 < div className = "ais-root root" >
60- < Template rootProps = { { className : 'ais-header' } } { ...templateProps } onClick = { null } />
60+ < Template rootProps = { { className : 'ais-header' , onClick : null } } { ...templateProps } />
6161 < div className = "ais-body body" >
6262 < TestComponent { ...defaultProps } />
6363 </ div >
@@ -86,11 +86,68 @@ describe('headerFooter', () => {
8686 < div className = "ais-body body" >
8787 < TestComponent { ...defaultProps } />
8888 </ div >
89- < Template rootProps = { { className : 'ais-footer' } } { ...templateProps } onClick = { null } />
89+ < Template rootProps = { { className : 'ais-footer' , onClick : null } } { ...templateProps } />
9090 </ div >
9191 ) ;
9292 } ) ;
9393
94+ describe ( 'collapsible' , ( ) => {
95+ let templateProps ;
96+ let headerTemplateProps ;
97+ let footerTemplateProps ;
98+
99+ beforeEach ( ( ) => {
100+ defaultProps . templateProps . templates = {
101+ header : 'yo header' ,
102+ footer : 'yo footer'
103+ } ;
104+ templateProps = {
105+ data : { } ,
106+ transformData : null ,
107+ templates : {
108+ header : 'yo header' ,
109+ footer : 'yo footer'
110+ }
111+ } ;
112+ headerTemplateProps = {
113+ templateKey : 'header' ,
114+ ...templateProps
115+ } ;
116+ footerTemplateProps = {
117+ templateKey : 'footer' ,
118+ ...templateProps
119+ } ;
120+ } ) ;
121+
122+ it ( 'when true' , ( ) => {
123+ defaultProps . collapsible = true ;
124+ let out = render ( defaultProps ) ;
125+ expect ( out ) . toEqualJSX (
126+ < div className = "ais-root root ais-root__collapsible" >
127+ < Template rootProps = { { className : 'ais-header' , onClick : function ( ) { } } } { ...headerTemplateProps } />
128+ < div className = "ais-body body" >
129+ < TestComponent { ...defaultProps } />
130+ </ div >
131+ < Template rootProps = { { className : 'ais-footer' , onClick : null } } { ...footerTemplateProps } />
132+ </ div >
133+ ) ;
134+ } ) ;
135+
136+ it ( 'when collapsed' , ( ) => {
137+ defaultProps . collapsible = { collapsed : true } ;
138+ let out = render ( defaultProps ) ;
139+ expect ( out ) . toEqualJSX (
140+ < div className = "ais-root root ais-root__collapsible ais-root__collapsed" >
141+ < Template rootProps = { { className : 'ais-header' , onClick : function ( ) { } } } { ...headerTemplateProps } />
142+ < div className = "ais-body body" >
143+ < TestComponent { ...defaultProps } />
144+ </ div >
145+ < Template rootProps = { { className : 'ais-footer' , onClick : null } } { ...footerTemplateProps } />
146+ </ div >
147+ ) ;
148+ } ) ;
149+ } ) ;
150+
94151 function render ( props = { } ) {
95152 let HeaderFooter = headerFooter ( TestComponent ) ;
96153 renderer . render ( < HeaderFooter { ...props } /> ) ;
0 commit comments