@@ -34,6 +34,19 @@ describe('Menu', () => {
3434 expect ( wrapper . find ( MenuFooter ) . length ) . toBe ( 1 )
3535 } )
3636
37+ it ( 'should render custom footer' , ( ) => {
38+ wrapper = mount (
39+ < Menu
40+ root = { {
41+ text : 'root' ,
42+ items : [ { text : 'item1' , href : '/item1' , as : '/item1' , items : [ ] } ] ,
43+ } }
44+ renderFooter = { item => `${ item . text } footer` }
45+ /> ,
46+ )
47+ expect ( wrapper . find ( MenuFooter ) . text ( ) ) . toBe ( 'root footer' )
48+ } )
49+
3750 it ( 'should render header' , ( ) => {
3851 wrapper = mount (
3952 < Menu
@@ -47,6 +60,19 @@ describe('Menu', () => {
4760 expect ( wrapper . find ( MenuHeader ) . length ) . toBe ( 1 )
4861 } )
4962
63+ it ( 'should render custom header' , ( ) => {
64+ wrapper = mount (
65+ < Menu
66+ root = { {
67+ text : 'root' ,
68+ items : [ { text : 'item1' , href : '/item1' , as : '/item1' , items : [ ] } ] ,
69+ } }
70+ renderHeader = { item => `${ item . text } header` }
71+ /> ,
72+ )
73+ expect ( wrapper . find ( MenuHeader ) . text ( ) ) . toBe ( 'root header' )
74+ } )
75+
5076 it ( 'should navigate to submenu' , ( ) => {
5177 wrapper = mount (
5278 < Menu
@@ -198,4 +224,42 @@ describe('Menu', () => {
198224 . simulate ( 'click' )
199225 expect ( wrapper . find ( ChevronLeft ) . length ) . toBe ( 1 )
200226 } )
227+
228+ it ( 'should render custom text for back button in secondary menu' , ( ) => {
229+ wrapper = mount (
230+ < Menu
231+ open
232+ renderBack = { ( ) => 'Back' }
233+ root = { {
234+ text : 'foo' ,
235+ items : [
236+ {
237+ text : 'foo' ,
238+ href : '/foo' ,
239+ as : '/foo' ,
240+ items : [
241+ {
242+ text : 'bar' ,
243+ href : '/bar' ,
244+ as : '/bar' ,
245+ items : [
246+ {
247+ text : 'foo3' ,
248+ href : '/foo3' ,
249+ as : '/foo3' ,
250+ } ,
251+ ] ,
252+ } ,
253+ ] ,
254+ } ,
255+ ] ,
256+ } }
257+ /> ,
258+ )
259+ wrapper
260+ . find ( ListItem )
261+ . at ( 0 )
262+ . simulate ( 'click' )
263+ expect ( wrapper . find ( MenuBack ) . text ( ) ) . toBe ( 'Back' )
264+ } )
201265} )
0 commit comments