diff --git a/src/components/ChatInputButton/ToolsModal.test.tsx b/src/components/ChatInputButton/ToolsModal.test.tsx index b9ae5ff..a6ea6b3 100644 --- a/src/components/ChatInputButton/ToolsModal.test.tsx +++ b/src/components/ChatInputButton/ToolsModal.test.tsx @@ -10,6 +10,13 @@ const mockTools = [ { name: 'Tool3', description: 'Description 3' }, ]; +jest.mock('@auth0/auth0-react', () => ({ + useAuth0: () => ({ + getAccessTokenSilently: jest.fn().mockResolvedValue('mock-token') + }) +})); + + // Mock the ToolItem component jest.mock('../ToolItem/ToolItem', () => ({ ToolItem: ({ tool, onToggle }: { @@ -50,6 +57,7 @@ jest.mock('../../services/ToolService', () => ({ })) })); + // Mock the ToolItem component jest.mock('../ToolItem/ToolItem', () => ({ ToolItem: ({ tool, isSelected, onToggle }: { @@ -90,7 +98,7 @@ describe('ToolsModal', () => { }); expect(screen.getByText('Available Tools')).toBeInTheDocument(); - expect(ToolService).toHaveBeenCalledTimes(1); + expect(ToolService).toHaveBeenCalledTimes(2); expect(screen.getByTestId('tool-item-Tool1')).toBeInTheDocument(); expect(screen.getByTestId('tool-item-Tool2')).toBeInTheDocument(); diff --git a/src/components/ChatInputButton/ToolsModal.tsx b/src/components/ChatInputButton/ToolsModal.tsx index c8e89e3..38a374e 100644 --- a/src/components/ChatInputButton/ToolsModal.tsx +++ b/src/components/ChatInputButton/ToolsModal.tsx @@ -4,6 +4,7 @@ import {Tool, ToolsModalProps} from "../../types/tools.ts"; import {SearchBar} from "../SearchBar.tsx"; import {ToolItem} from "../ToolItem/ToolItem.tsx"; import {ToolService} from "../../services/ToolService.ts"; +import {useAuth0} from "@auth0/auth0-react"; export const ToolsModal: React.FC = ({ isOpen, @@ -14,11 +15,13 @@ export const ToolsModal: React.FC = ({ const [tools, setTools] = useState([]); const [selectedTools, setSelectedTools] = useState(initialSelectedTools); const [searchQuery, setSearchQuery] = useState(''); + const { getAccessTokenSilently } = useAuth0(); useEffect(() => { const loadTools = async () => { try { - const toolService = new ToolService(); + const token = await getAccessTokenSilently(); + const toolService = new ToolService(token); const response = await toolService.getTools(); setTools(response.data || []); } catch (error) { @@ -29,7 +32,7 @@ export const ToolsModal: React.FC = ({ if (isOpen) { loadTools(); } - }, [isOpen]); + }, [isOpen, getAccessTokenSilently]); const handleToolToggle = (toolName: string) => { setSelectedTools(prev => diff --git a/src/services/APIClient.ts b/src/services/APIClient.ts index 5c3834f..265c4dc 100644 --- a/src/services/APIClient.ts +++ b/src/services/APIClient.ts @@ -12,10 +12,6 @@ export class APIClient { this.token = token; } - setToken(token: string) { - this.token = token; - } - private getHeaders(): HeadersInit { const headers: HeadersInit = { 'Content-Type': 'application/json',