Streamline theme management and improve AppearanceSettings component

This commit is contained in:
2025-10-11 17:46:12 +02:00
parent 8bd9eb2236
commit bcc5d2588a
7 changed files with 65 additions and 42 deletions

View File

@@ -32,7 +32,7 @@ describe('AppearanceSettings', () => {
});
it('renders dark mode toggle with correct state', () => {
render(<AppearanceSettings onThemeChange={mockOnThemeChange} />);
render(<AppearanceSettings />);
expect(screen.getByText('Dark Mode')).toBeInTheDocument();
const toggle = screen.getByRole('switch');
@@ -46,20 +46,19 @@ describe('AppearanceSettings', () => {
updateColorScheme: mockUpdateColorScheme,
});
render(<AppearanceSettings onThemeChange={mockOnThemeChange} />);
render(<AppearanceSettings />);
const toggle = screen.getByRole('switch');
expect(toggle).toBeChecked();
});
it('toggles theme from light to dark', () => {
render(<AppearanceSettings onThemeChange={mockOnThemeChange} />);
render(<AppearanceSettings />);
const toggle = screen.getByRole('switch');
fireEvent.click(toggle);
expect(mockUpdateColorScheme).toHaveBeenCalledWith(Theme.Dark);
expect(mockOnThemeChange).toHaveBeenCalledWith(Theme.Dark);
});
it('toggles theme from dark to light', async () => {
@@ -69,12 +68,11 @@ describe('AppearanceSettings', () => {
updateColorScheme: mockUpdateColorScheme,
});
render(<AppearanceSettings onThemeChange={mockOnThemeChange} />);
render(<AppearanceSettings />);
const toggle = screen.getByRole('switch');
fireEvent.click(toggle);
expect(mockUpdateColorScheme).toHaveBeenCalledWith(Theme.Light);
expect(mockOnThemeChange).toHaveBeenCalledWith(Theme.Light);
});
});