From 44b37d60b46719ae3209d1f7c63d71d3cfb7c8e4 Mon Sep 17 00:00:00 2001 From: Eric Olkowski Date: Mon, 11 Mar 2024 11:44:07 -0400 Subject: [PATCH] Added initial Th test file --- .../components/Table/__tests__/Th.test.tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 packages/react-table/src/components/Table/__tests__/Th.test.tsx 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'); +});