diff --git a/src/renderer/src/components/native-chat/NativeChatStructuredSession.test.tsx b/src/renderer/src/components/native-chat/NativeChatStructuredSession.test.tsx index e0e8b74fe63..bfb3dd1ef52 100644 --- a/src/renderer/src/components/native-chat/NativeChatStructuredSession.test.tsx +++ b/src/renderer/src/components/native-chat/NativeChatStructuredSession.test.tsx @@ -1,7 +1,7 @@ // @vitest-environment happy-dom import { act, cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react' -import type React from 'react' +import React, { forwardRef, useImperativeHandle } from 'react' import { afterEach, describe, expect, it, vi } from 'vitest' const mocks = vi.hoisted(() => ({ @@ -13,6 +13,8 @@ const mocks = vi.hoisted(() => ({ onLinkClick?: (...args: unknown[]) => void }, composerProps: null as null | { structuredTransport?: Record }, + handlePasteEvent: vi.fn(), + pasteFromClipboard: vi.fn(), submissions: [] as unknown[] })) @@ -110,10 +112,16 @@ vi.mock('./NativeChatMessageList', () => ({ })) vi.mock('./NativeChatComposer', () => ({ - NativeChatComposer: (props: typeof mocks.composerProps) => { + NativeChatComposer: forwardRef((props: typeof mocks.composerProps, ref) => { mocks.composerProps = props - return null - } + useImperativeHandle(ref, () => ({ + focus: () => true, + insertTypedText: () => true, + handlePasteEvent: mocks.handlePasteEvent, + pasteFromClipboard: mocks.pasteFromClipboard + })) + return