test(web): 添加 renderWithProviders — MemoryRouter + AntD ConfigProvider 包裹器
This commit is contained in:
25
apps/web/src/test/utils/renderWithProviders.tsx
Normal file
25
apps/web/src/test/utils/renderWithProviders.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ReactElement } from 'react';
|
||||
import { render, RenderOptions } from '@testing-library/react';
|
||||
import { MemoryRouter } from 'react-router-dom';
|
||||
import { ConfigProvider } from 'antd';
|
||||
import zhCN from 'antd/locale/zh_CN';
|
||||
|
||||
interface CustomRenderOptions extends Omit<RenderOptions, 'wrapper'> {
|
||||
route?: string;
|
||||
}
|
||||
|
||||
export function renderWithProviders(ui: ReactElement, options: CustomRenderOptions = {}) {
|
||||
const { route = '/', ...renderOptions } = options;
|
||||
|
||||
function Wrapper({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<MemoryRouter initialEntries={[route]}>
|
||||
<ConfigProvider locale={zhCN}>{children}</ConfigProvider>
|
||||
</MemoryRouter>
|
||||
);
|
||||
}
|
||||
|
||||
return render(ui, { wrapper: Wrapper, ...renderOptions });
|
||||
}
|
||||
|
||||
export * from '@testing-library/react';
|
||||
Reference in New Issue
Block a user