import { render, screen } from '@testing-library/react'; import { ToolbarItem } from '../ToolbarItem'; describe('ToolbarItem', () => { it('should render with pf-m-overflow-container when isOverflowContainer is set', () => { render( Test ); expect(screen.getByTestId('toolbaritem')).toHaveClass('pf-m-overflow-container'); }); describe('ToobarItem rowWrap', () => { const bps = ['default', 'sm', 'md', 'lg', 'xl', '2xl']; describe.each(bps)(`rowWrap at various breakpoints`, (bp) => { it(`should render with pf-m-wrap when rowWrap is set to wrap at ${bp}`, () => { render( Test ); const bpWrapClass = bp === 'default' ? 'pf-m-wrap' : `pf-m-wrap-on-${bp}`; expect(screen.getByTestId('toolbaritem')).toHaveClass(bpWrapClass); }); it(`should render with pf-m-nowrap when rowWrap is set to nowrap at ${bp}`, () => { render( Test ); const bpNoWrapClass = bp === 'default' ? 'pf-m-nowrap' : `pf-m-nowrap-on-${bp}`; expect(screen.getByTestId('toolbaritem')).toHaveClass(bpNoWrapClass); }); }); }); const bps = ['default', 'md', 'lg', 'xl', '2xl'] as const; describe.each(bps)(`ToolbarItem visibilityAtHeight`, (bp) => { it(`Applies correct visible class at ${bp}`, () => { render( Test ); if (bp !== 'default') { expect(screen.getByTestId('toolbaritem')).toHaveClass(`pf-m-visible-on-${bp}-height`); } }); it(`Applies correct hidden class at ${bp}`, () => { render( Test ); const expectedClass = bp === 'default' ? 'pf-m-hidden' : `pf-m-hidden-on-${bp}-height`; expect(screen.getByTestId('toolbaritem')).toHaveClass(expectedClass); }); }); });