import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { render, screen } from '@testing-library/react'; import { useRoutineDetailQuery } from "@/components/Routines/queries"; import { RoutineDetailsCard } from "@/components/Routines/widgets/RoutineDetailsCard"; import React from 'react'; import { MemoryRouter, Route, Routes } from "react-router-dom"; import { testRoutine1 } from "@/tests/workoutRoutinesTestData"; import type { Mock } from 'vitest'; vi.mock("@/components/Exercises/api/language"); vi.mock("@/components/Routines/queries"); const queryClient = new QueryClient(); describe("Test the RoutineDetail component", () => { beforeEach(() => { (useRoutineDetailQuery as Mock).mockImplementation(() => ({ isSuccess: true, isLoading: false, data: testRoutine1 })); }); test('renders a specific routine', async () => { // Act render( } /> ); // Assert expect(useRoutineDetailQuery).toHaveBeenCalledWith(101); expect(screen.getByText('Full body routine')).toBeInTheDocument(); expect(screen.getByText('Every day is leg day 🦵🏻')).toBeInTheDocument(); expect(screen.getByText('Squats')).toBeInTheDocument(); }); });