correct and complete unit tests in Front-End

This commit is contained in:
Laurent GAY
2025-06-11 18:49:45 +02:00
parent 2fa54e8282
commit 533ecbdbba
67 changed files with 1900 additions and 203 deletions

View File

@@ -32,3 +32,13 @@ export const resetPasswordResponseMock = {
},
},
};
export const nullIdentityMock = {
data: {
loggedUser: {
__typename: "loggedUser",
id: 1,
actors: null,
},
},
};

View File

@@ -0,0 +1,37 @@
import buildCurrentUserResolver from "@/apollo/user";
import { DefaultApolloClient } from "@vue/apollo-composable";
import { cache } from "@/apollo/memory";
import {
createMockClient,
MockApolloClient,
RequestHandler,
} from "mock-apollo-client";
import { vi } from "vitest";
import { nullMock } from "../common";
let mockClient: MockApolloClient | null;
let requestHandlers: Record<string, RequestHandler>;
export function getMockClient(queries: Array<string>): any {
mockClient = createMockClient({
cache,
resolvers: buildCurrentUserResolver(cache),
});
requestHandlers = {
nullHandle: vi.fn().mockResolvedValue(nullMock),
};
queries.forEach((query: any) => {
mockClient.setRequestHandler(query, requestHandlers.nullHandle);
});
return { provide: { [DefaultApolloClient]: mockClient } };
}
export function createMockIntersectionObserver(): void {
const mockIntersectionObserver = vi.fn();
mockIntersectionObserver.mockReturnValue({
observe: () => null,
unobserve: () => null,
disconnect: () => null,
});
window.IntersectionObserver = mockIntersectionObserver;
}