import { render, screen } from '@testing-library/react';
import { describe, expect, it, vi } from 'vitest';
import { coinbaseWalletSvg } from '../../svg/coinbaseWalletSvg';
import { QrCodeSvg } from './QrCodeSvg';
vi.mock('@/internal/hooks/useTheme', () => ({
useTheme: vi.fn(() => 'default-light'),
useThemeRoot: vi.fn(() => 'default-light'),
}));
describe('QRCodeSVG', () => {
it('renders nothing when no value is provided', () => {
render();
expect(screen.queryByTitle('QR Code')).toBeNull();
});
it('renders SVG with default props', () => {
render();
const svg = screen.getByTitle('QR Code');
expect(svg).toBeInTheDocument();
});
it('renders with logo', () => {
render();
expect(screen.getByTestId('qr-code-logo')).toBeInTheDocument();
});
it('renders with linear gradient', () => {
render();
expect(screen.queryByTestId('linearGrad')).toBeInTheDocument();
expect(screen.queryByTestId('radialGrad')).toBeNull();
});
it('renders with radial gradient', () => {
render();
expect(screen.queryByTestId('radialGrad')).toBeInTheDocument();
expect(screen.queryByTestId('linearGrad')).not.toBeInTheDocument();
});
});