test: add unit tests for ClearChatsButton and ThemeSelector components

This commit is contained in:
Daniel Avila 2023-06-11 15:30:50 -04:00 committed by Danny Avila
parent 931a89204c
commit 8c536cb93c
3 changed files with 71 additions and 1 deletions

View file

@ -0,0 +1,31 @@
import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import { ThemeSelector } from './General';
describe('ThemeSelector', () => {
let mockOnChange;
beforeEach(() => {
mockOnChange = jest.fn();
});
it('renders correctly', () => {
const { getByText, getByDisplayValue } = render(
<ThemeSelector theme="system" onChange={mockOnChange} />
);
expect(getByText('Theme')).toBeInTheDocument();
expect(getByDisplayValue('System')).toBeInTheDocument();
});
it('calls onChange when the select value changes', () => {
const { getByDisplayValue } = render(
<ThemeSelector theme="system" onChange={mockOnChange} />
);
fireEvent.change(getByDisplayValue('System'), { target: { value: 'dark' } });
expect(mockOnChange).toHaveBeenCalledWith('dark');
});
});