Add more accessibility tests

This commit is contained in:
Alejandro Celaya
2023-09-30 10:45:52 +02:00
parent 6d1d3c021a
commit 7a216a195a
29 changed files with 117 additions and 33 deletions

View File

@@ -2,6 +2,7 @@ import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import type { ServerData } from '../../../src/servers/data';
import { DuplicatedServersModal } from '../../../src/servers/helpers/DuplicatedServersModal';
import { checkAccessibility } from '../../__helpers__/accessibility';
import { renderWithEvents } from '../../__helpers__/setUpTest';
describe('<DuplicatedServersModal />', () => {
@@ -12,6 +13,8 @@ describe('<DuplicatedServersModal />', () => {
);
const mockServer = (data: Partial<ServerData> = {}) => fromPartial<ServerData>(data);
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
[[], 0],
[[mockServer()], 2],

View File

@@ -5,6 +5,7 @@ import type {
ImportServersBtnProps } from '../../../src/servers/helpers/ImportServersBtn';
import { ImportServersBtnFactory } from '../../../src/servers/helpers/ImportServersBtn';
import type { ServersImporter } from '../../../src/servers/services/ServersImporter';
import { checkAccessibility } from '../../__helpers__/accessibility';
import { renderWithEvents } from '../../__helpers__/setUpTest';
describe('<ImportServersBtn />', () => {
@@ -22,6 +23,8 @@ describe('<ImportServersBtn />', () => {
/>,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it('shows tooltip on button hover', async () => {
const { user } = setUp();

View File

@@ -1,11 +1,22 @@
import { render, screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { MemoryRouter } from 'react-router-dom';
import type { NonReachableServer, NotFoundServer } from '../../../src/servers/data';
import type { NonReachableServer, NotFoundServer, SelectedServer } from '../../../src/servers/data';
import { ServerErrorFactory } from '../../../src/servers/helpers/ServerError';
import { checkAccessibility } from '../../__helpers__/accessibility';
describe('<ServerError />', () => {
const ServerError = ServerErrorFactory(fromPartial({ DeleteServerButton: () => null }));
const setUp = (selectedServer: SelectedServer) => render(
<MemoryRouter>
<ServerError servers={{}} selectedServer={selectedServer} />
</MemoryRouter>,
);
it.each([
[fromPartial<NotFoundServer>({})],
[fromPartial<NonReachableServer>({ id: 'abc123' })],
])('passes a11y checks', (selectedServer) => checkAccessibility(setUp(selectedServer)));
it.each([
[
@@ -31,11 +42,7 @@ describe('<ServerError />', () => {
},
],
])('renders expected information based on provided server type', (selectedServer, { found, notFound }) => {
render(
<MemoryRouter>
<ServerError servers={{}} selectedServer={selectedServer} />
</MemoryRouter>,
);
setUp(selectedServer);
found.forEach((text) => expect(screen.getByText(text)).toBeInTheDocument());
notFound.forEach((text) => expect(screen.queryByText(text)).not.toBeInTheDocument());

View File

@@ -1,10 +1,13 @@
import { fireEvent, render, screen } from '@testing-library/react';
import { ServerForm } from '../../../src/servers/helpers/ServerForm';
import { checkAccessibility } from '../../__helpers__/accessibility';
describe('<ServerForm />', () => {
const onSubmit = vi.fn();
const setUp = () => render(<ServerForm onSubmit={onSubmit}>Something</ServerForm>);
it('passes a11y checks', () => checkAccessibility(setUp()));
it('renders components', () => {
setUp();