mirror of
https://github.com/Buriburizaem0n/nezha-dash-v1.git
synced 2026-09-19 17:50:13 +00:00
- Created tests for formatBytes function to ensure correct formatting of byte values. - Implemented tests for InjectContext to validate resource injection and cleanup. - Added tests for logo-class helpers to verify platform alias mappings. - Developed tests for nezha-api functions to check API response handling. - Introduced tests for static geographic data to validate country coordinates and GeoJSON structure. - Created comprehensive tests for utility functions including date formatting and public note parsing. - Added tests for Server page to ensure correct rendering and functionality. - Implemented tests for simple pages including error handling and navigation. - Set up testing environment with Vitest and configured coverage reporting.
43 lines
985 B
TypeScript
43 lines
985 B
TypeScript
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import { type RenderOptions, render } from "@testing-library/react";
|
|
import type { ReactElement, ReactNode } from "react";
|
|
import { MemoryRouter } from "react-router-dom";
|
|
|
|
export function createTestQueryClient() {
|
|
return new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: false,
|
|
gcTime: 0,
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
type RenderWithProvidersOptions = RenderOptions & {
|
|
route?: string;
|
|
queryClient?: QueryClient;
|
|
};
|
|
|
|
export function renderWithProviders(
|
|
ui: ReactElement,
|
|
{
|
|
route = "/",
|
|
queryClient = createTestQueryClient(),
|
|
...renderOptions
|
|
}: RenderWithProvidersOptions = {},
|
|
) {
|
|
function Wrapper({ children }: { children: ReactNode }) {
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
<MemoryRouter initialEntries={[route]}>{children}</MemoryRouter>
|
|
</QueryClientProvider>
|
|
);
|
|
}
|
|
|
|
return {
|
|
queryClient,
|
|
...render(ui, { wrapper: Wrapper, ...renderOptions }),
|
|
};
|
|
}
|