diff --git a/client/src/components/Nav/SettingsTabs/ClearChatsButton.spec.tsx b/client/src/components/Nav/SettingsTabs/ClearChatsButton.spec.tsx new file mode 100644 index 0000000000..96966e46ea --- /dev/null +++ b/client/src/components/Nav/SettingsTabs/ClearChatsButton.spec.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; +import '@testing-library/jest-dom/extend-expect'; +import { ClearChatsButton } from './General'; + +describe('ClearChatsButton', () => { + let mockOnClick; + + beforeEach(() => { + mockOnClick = jest.fn(); + }); + + it('renders correctly', () => { + const { getByText } = render( + + ); + + expect(getByText('Clear all chats')).toBeInTheDocument(); + expect(getByText('Clear')).toBeInTheDocument(); + }); + + it('renders confirm clear when confirmClear is true', () => { + const { getByText } = render( + + ); + + expect(getByText('Confirm Clear')).toBeInTheDocument(); + }); + + it('calls onClick when the button is clicked', () => { + const { getByText } = render( + + ); + + fireEvent.click(getByText('Clear')); + + expect(mockOnClick).toHaveBeenCalled(); + }); +}); diff --git a/client/src/components/Nav/SettingsTabs/General.tsx b/client/src/components/Nav/SettingsTabs/General.tsx index f412596fd7..1d2633e3e5 100644 --- a/client/src/components/Nav/SettingsTabs/General.tsx +++ b/client/src/components/Nav/SettingsTabs/General.tsx @@ -4,7 +4,7 @@ import { ThemeContext } from '~/hooks/ThemeContext'; import React, { useState, useContext, useCallback } from 'react'; import { useClearConversationsMutation } from '~/data-provider'; -const ThemeSelector = ({ theme, onChange }: { theme: string, onChange: (value: string) => void }) => ( +export const ThemeSelector = ({ theme, onChange }: { theme: string, onChange: (value: string) => void }) => (
Theme