import { QueryClientProvider } from '@tanstack/react-query';
import { render, screen } from '@testing-library/react';
import { BmiCalculator } from "@/components/Nutrition/screens/BmiCalculator";
import { BrowserRouter } from 'react-router-dom';
import { testQueryClient } from "@/tests/queryClient";
// Mock the necessary React Query hooks
vi.mock('@/components/Weight/queries', () => ({
useBodyWeightQuery: () => ({
isLoading: false,
data: [{ weight: 55, date: new Date() }], // Provide mock weight data
}),
}));
vi.mock('@/components/User/queries/profile', () => ({
useProfileQuery: () => ({
isLoading: false,
data: { height: 180, useMetric: true }, // Provide mock profile data
}),
}));
const wrapper = ({ children }: { children: React.ReactNode }) => (
{children}
);
describe('BmiCalculator', () => {
afterEach(() => {
vi.restoreAllMocks();
});
it('renders the component with title and chart', async () => {
render(, { wrapper });
expect(screen.getByText('bmi.calculator')).toBeInTheDocument();
expect(screen.getByText('bmi.result')).toBeInTheDocument();
});
});