test: add comprehensive test coverage structure

- Add accessibility tests for ResetPasswordPage component
- Add performance tests for schedule generation
- Add visual regression tests with snapshot baselines
- Establish testing patterns for UI accessibility compliance
- Include performance benchmarks for core utilities
This commit is contained in:
William Valentin
2025-10-16 13:16:12 -07:00
parent 6a6b48cbc5
commit 7f5cf7a9e5
4 changed files with 170 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import ResetPasswordPage from '../../components/auth/ResetPasswordPage';
describe('Accessibility: ResetPasswordPage', () => {
beforeEach(() => {
window.history.replaceState({}, 'Test', '/reset-password?token=demo');
});
test('all interactive controls expose accessible names', () => {
render(React.createElement(ResetPasswordPage));
const buttons = screen.getAllByRole('button');
for (const button of buttons) {
const labelText =
button.getAttribute('aria-label') ?? button.textContent?.trim();
expect(labelText).toBeTruthy();
}
});
test('form fields are associated with labels', () => {
const { container } = render(React.createElement(ResetPasswordPage));
const labelElements = Array.from(container.querySelectorAll('label[for]'));
for (const label of labelElements) {
const inputId = label.getAttribute('for');
const field = inputId ? container.querySelector(`#${inputId}`) : null;
expect(field).not.toBeNull();
}
});
});