/**
 * 客户端测试工具
 *
 * 为 React 组件和前端测试提供工具函数
 */

/**
 * React Query 测试工具
 */
export {
  createTestQueryClient,
  TestQueryProvider,
  mockUseQuery,
  mockUseMutation,
  waitForQueryToFinish,
  mockNetworkError,
  mockServerError
} from './test-query.js';

/**
 * React 渲染测试工具
 */
export {
  TestWrapper,
  AdminTestWrapper
} from './test-render.js';

/**
 * React Router 测试工具
 */
export {
  TestRouter,
  useTestLocation,
  createTestNavigation
} from './test-router.js';

/**
 * 客户端测试配置
 */
export interface ClientTestConfig {
  /** 是否启用严格模式 */
  strictMode?: boolean;
  /** 路由配置 */
  router?: {
    initialEntries?: string[];
    initialIndex?: number;
  };
  /** 查询客户端配置 */
  queryClient?: any;
}

/**
 * 默认客户端测试配置
 */
export const defaultClientTestConfig: ClientTestConfig = {
  strictMode: true,
  router: {
    initialEntries: ['/'],
    initialIndex: 0
  }
};