forked from Creditra/Creditra-Frontend
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContrastProvider.test.tsx
More file actions
25 lines (23 loc) · 899 Bytes
/
Copy pathContrastProvider.test.tsx
File metadata and controls
25 lines (23 loc) · 899 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { render, fireEvent } from '@testing-library/react';
import { ContrastProvider, useContrast } from './ContrastContext';
import { useEffect } from 'react';
function TestComponent() {
const { contrastMode, toggleContrast } = useContrast();
useEffect(() => {
(window as any).currentContrast = contrastMode;
}, [contrastMode]);
return <button onClick={toggleContrast}>Toggle</button>;
}
test('toggles high‑contrast attribute on html element', () => {
render(
<ContrastProvider>
<TestComponent />
</ContrastProvider>
);
const button = document.querySelector('button')!;
expect(document.documentElement.getAttribute('data-contrast')).toBeNull();
fireEvent.click(button);
expect(document.documentElement.getAttribute('data-contrast')).toBe('high');
fireEvent.click(button);
expect(document.documentElement.getAttribute('data-contrast')).toBeNull();
});