import React from 'react' import { render, screen, fireEvent } from '@testing-library/react' import '@testing-library/jest-dom' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import OrderDetail from '../src/pages/OrderDetail/OrderDetail' import { setupTestEnv } from './__helpers__/local-test-utils' setupTestEnv() // 创建测试用的QueryClient const createTestQueryClient = () => new QueryClient({ defaultOptions: { queries: { retry: false, }, }, }) // 测试包装器组件 const TestWrapper = ({ children }: { children: React.ReactNode }) => { const queryClient = createTestQueryClient() return ( {children} ) } // 包装的render函数 const renderWithQueryClient = (component: React.ReactElement) => { return render({component}) } // Mock Taro组件 jest.mock('@tarojs/components', () => ({ View: ({ children, className, ...props }: any) => (
{children}
), Text: ({ children, className, ...props }: any) => ( {children} ), ScrollView: ({ children, className, scrollY, ...props }: any) => (
{children}
), Button: ({ children, className, onClick, ...props }: any) => ( ), Input: ({ className, placeholder, value, onInput, ...props }: any) => ( onInput?.({ detail: { value: e.target.value } })} {...props} /> ), Textarea: ({ className, placeholder, value, onInput, ...props }: any) => (