@@ -31,57 +31,42 @@ describe("Header component tests", () => {
3131 expect ( getByAltText ( "DXC Logo" ) ) . toBeTruthy ( ) ;
3232 } ) ;
3333
34- describe ( "HamburguerButton component" , ( ) => {
35- test ( "hamburger button triggers onClick when clicked" , ( ) => {
36- mockMatchMedia . mockImplementation ( ( ) => ( {
37- matches : true ,
38- addEventListener : jest . fn ( ) ,
39- removeEventListener : jest . fn ( ) ,
40- } ) ) ;
34+ test ( "hamburger button triggers onClick when clicked" , ( ) => {
35+ mockMatchMedia . mockImplementation ( ( ) => ( {
36+ matches : true ,
37+ addEventListener : jest . fn ( ) ,
38+ removeEventListener : jest . fn ( ) ,
39+ } ) ) ;
4140
42- const navItems : Item [ ] = [ { label : "Home" , onSelect : jest . fn ( ) } ] ;
43- render ( < DxcHeader logo = { defaultHeaderBranding } navItems = { navItems } /> ) ;
41+ const navItems : Item [ ] = [ { label : "Home" , onSelect : jest . fn ( ) } ] ;
42+ render ( < DxcHeader logo = { defaultHeaderBranding } navItems = { navItems } /> ) ;
4443
45- const menuButton = screen . getByRole ( "button" , { name : / t o g g l e m e n u / i } ) ;
46- fireEvent . click ( menuButton ) ;
47- expect ( screen . getByText ( "Home" ) ) . toBeInTheDocument ( ) ;
48- } ) ;
44+ const menuButton = screen . getByRole ( "button" , { name : / t o g g l e m e n u / i } ) ;
45+ fireEvent . click ( menuButton ) ;
46+ expect ( screen . getByText ( "Home" ) ) . toBeInTheDocument ( ) ;
4947 } ) ;
5048
51- describe ( "sanitizeNavItems function coverage" , ( ) => {
52- test ( "handles nested group items beyond LEVEL_LIMIT (should be ignored)" , ( ) => {
53- const deepNestedItems : ( Item | GroupItem ) [ ] = [
54- {
55- label : "Services" ,
56- items : [
57- { label : "Web Design" , onSelect : jest . fn ( ) } ,
58- {
59- label : "Development" , // This nested group should be ignored due to LEVEL_LIMIT = 1
60- items : [
61- { label : "Frontend" , onSelect : jest . fn ( ) } ,
62- { label : "Backend" , onSelect : jest . fn ( ) } ,
63- ] ,
64- } ,
65- ] ,
66- } ,
67- ] ;
49+ test ( "handles nested group items beyond LEVEL_LIMIT (should be ignored)" , ( ) => {
50+ const deepNestedItems : ( Item | GroupItem ) [ ] = [
51+ {
52+ label : "Services" ,
53+ items : [
54+ { label : "Web Design" , onSelect : jest . fn ( ) } ,
55+ {
56+ label : "Development" , // This nested group should be ignored due to LEVEL_LIMIT = 1
57+ items : [
58+ { label : "Frontend" , onSelect : jest . fn ( ) } ,
59+ { label : "Backend" , onSelect : jest . fn ( ) } ,
60+ ] ,
61+ } ,
62+ ] ,
63+ } ,
64+ ] ;
6865
69- render ( < DxcHeader logo = { defaultHeaderBranding } navItems = { deepNestedItems } /> ) ;
70- expect ( screen . getByAltText ( "DXC Logo" ) ) . toBeInTheDocument ( ) ;
71- } ) ;
72-
73- test ( "handles mixed simple items and group items" , ( ) => {
74- const mixedItems : ( Item | GroupItem ) [ ] = [
75- { label : "Home" , onSelect : jest . fn ( ) } ,
76- {
77- label : "Services" ,
78- items : [ { label : "Web Design" , onSelect : jest . fn ( ) } ] ,
79- } ,
80- { label : "Contact" , onSelect : jest . fn ( ) } ,
81- ] ;
82-
83- render ( < DxcHeader logo = { defaultHeaderBranding } navItems = { mixedItems } /> ) ;
84- expect ( screen . getByAltText ( "DXC Logo" ) ) . toBeInTheDocument ( ) ;
85- } ) ;
66+ render ( < DxcHeader logo = { defaultHeaderBranding } navItems = { deepNestedItems } /> ) ;
67+ expect ( screen . getByText ( "Services" ) ) . toBeInTheDocument ( ) ;
68+ expect ( screen . queryByText ( "Development" ) ) . not . toBeInTheDocument ( ) ;
69+ expect ( screen . queryByText ( "Frontend" ) ) . not . toBeInTheDocument ( ) ;
70+ expect ( screen . queryByText ( "Backend" ) ) . not . toBeInTheDocument ( ) ;
8671 } ) ;
8772} ) ;
0 commit comments