import '@testing-library/jest-dom'; import { useNFTContext } from '@/nft/components/NFTProvider'; import { render } from '@testing-library/react'; import { type Mock, describe, expect, it, vi } from 'vitest'; import { NFTCollectionTitle } from './NFTCollectionTitle'; vi.mock('@/nft/components/NFTProvider', () => ({ useNFTContext: vi.fn(), })); describe('NFTCollectionTitle', () => { it('should render the collection title when name is provided', () => { (useNFTContext as Mock).mockReturnValue({ name: 'Test NFT' }); const { getByText } = render(); expect(getByText('Test NFT')).toBeInTheDocument(); }); it('should not render when name is not provided', () => { (useNFTContext as Mock).mockReturnValue({ name: '' }); const { container } = render(); expect(container.firstChild).toBeNull(); }); it('should apply additional class names when provided', () => { (useNFTContext as Mock).mockReturnValue({ name: 'Test NFT' }); const { container } = render( , ); expect(container.firstChild).toHaveClass('extra-class'); }); });