diff --git a/src/renderer/src/components/__tests__/QuickPanelView.test.tsx b/src/renderer/src/components/__tests__/QuickPanelView.test.tsx index 100f951005..782f0cb42c 100644 --- a/src/renderer/src/components/__tests__/QuickPanelView.test.tsx +++ b/src/renderer/src/components/__tests__/QuickPanelView.test.tsx @@ -1,10 +1,19 @@ +import { configureStore } from '@reduxjs/toolkit' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { useEffect } from 'react' +import { Provider } from 'react-redux' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { QuickPanelListItem, QuickPanelProvider, QuickPanelView, useQuickPanel } from '../QuickPanel' +// Mock Redux store +const mockStore = configureStore({ + reducer: { + settings: (state = { userTheme: { colorPrimary: '#1677ff' } }) => state + } +}) + function createList(length: number, prefix = 'Item', extra: Partial = {}) { return Array.from({ length }, (_, i) => ({ label: `${prefix} ${i + 1}`, @@ -37,6 +46,14 @@ function OpenPanelOnMount({ list }: { list: QuickPanelListItem[] }) { return null } +function wrapWithProviders(children: React.ReactNode) { + return ( + + {children} + + ) +} + describe('QuickPanelView', () => { beforeEach(() => { // 添加一个假的 .inputbar textarea 到 document.body @@ -54,11 +71,7 @@ describe('QuickPanelView', () => { describe('rendering', () => { it('should render without crashing when wrapped in QuickPanelProvider', () => { - render( - - - - ) + render(wrapWithProviders()) // 检查面板容器是否存在且初始不可见 const panel = screen.getByTestId('quick-panel') @@ -69,10 +82,12 @@ describe('QuickPanelView', () => { const list = createList(100) render( - - - - + wrapWithProviders( + <> + + + + ) ) // 检查面板可见 @@ -111,10 +126,12 @@ describe('QuickPanelView', () => { const list = createList(100) render( - - - - + wrapWithProviders( + <> + + + + ) ) // 检查第一个 item 是否有 focused @@ -128,10 +145,12 @@ describe('QuickPanelView', () => { const list = createList(100, 'Item') render( - - - - + wrapWithProviders( + <> + + + + ) ) const keySequence = [ @@ -148,10 +167,12 @@ describe('QuickPanelView', () => { const list = createList(100, 'Item') render( - - - - + wrapWithProviders( + <> + + + + ) ) const keySequence = [ @@ -169,10 +190,12 @@ describe('QuickPanelView', () => { const list = createList(100, 'Item') render( - - - - + wrapWithProviders( + <> + + + + ) ) const keySequence = [ diff --git a/src/renderer/src/components/__tests__/Scrollbar.test.tsx b/src/renderer/src/components/__tests__/Scrollbar.test.tsx index 2848404f26..e7d00b205e 100644 --- a/src/renderer/src/components/__tests__/Scrollbar.test.tsx +++ b/src/renderer/src/components/__tests__/Scrollbar.test.tsx @@ -130,8 +130,8 @@ describe('Scrollbar', () => { // 验证 throttle 被调用 expect(throttle).toHaveBeenCalled() - // 验证 throttle 调用时使用了 200ms 延迟 - expect(throttle).toHaveBeenCalledWith(expect.any(Function), 200) + // 验证 throttle 调用时使用了 100ms 延迟和正确的选项 + expect(throttle).toHaveBeenCalledWith(expect.any(Function), 100, { leading: true, trailing: true }) }) })