import { EarnDetails } from '@/earn/components/EarnDetails';
import { MOCK_EARN_CONTEXT } from '@/earn/mocks/mocks.test';
import { render, screen } from '@testing-library/react';
import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest';
import { useEarnContext } from './EarnProvider';
vi.mock('./EarnProvider', () => ({
useEarnContext: vi.fn(),
}));
describe('EarnDetails Component', () => {
const mockUseEarnContext = useEarnContext as Mock;
beforeEach(() => {
mockUseEarnContext.mockReturnValue(MOCK_EARN_CONTEXT);
});
it('renders error message when error is present', () => {
mockUseEarnContext.mockReturnValue({
...MOCK_EARN_CONTEXT,
error: new Error('Test error'),
});
render();
const errorMessage = screen.getByText('Error fetching vault details');
expect(errorMessage).toBeInTheDocument();
});
it('applies custom className when provided', () => {
const customClass = 'custom-class';
render();
const container = screen.getByTestId('ockEarnDetails');
expect(container).toHaveClass(customClass);
});
});