diff --git a/packages/react-table/src/components/Table/__tests__/Th.test.tsx b/packages/react-table/src/components/Table/__tests__/Th.test.tsx new file mode 100644 index 00000000000..ab4f71cf7bc --- /dev/null +++ b/packages/react-table/src/components/Table/__tests__/Th.test.tsx @@ -0,0 +1,31 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Th } from '../Th'; + +test('Does not render with aria-label by default', () => { + render(); + expect(screen.getByRole('columnheader')).not.toHaveAccessibleName(); +}); + +test('Renders with aria-label when passed in', () => { + render(); + expect(screen.getByRole('columnheader')).toHaveAccessibleName('Test'); +}); + +test('Does not render with screen reader text by default', () => { + render(); + + expect(screen.getByRole('columnheader')).toBeEmptyDOMElement(); +}); + +test('Does not render with screen reader text when children are passed in', () => { + render(Heading label); + + expect(screen.getByRole('columnheader')).not.toHaveTextContent('Test'); +}); + +test('Renders with screen reader text when screenReaderText is passed in', () => { + render(); + + expect(screen.getByRole('columnheader')).toHaveTextContent('Test'); +});