import { describe, expect, it, vi } from 'vitest' import { fireEvent, renderWithProviders, screen } from '../../../test/utils' import PdfViewer from './PdfViewer' describe('PdfViewer', () => { const items = [ { src: 'https://cdn.example.com/one.pdf#page=3' }, { src: 'https://cdn.example.com/two.pdf', filename: 'second.pdf' }, ] it('renders nothing with no active document', () => { const { container } = renderWithProviders( ) expect(container.firstChild).toBeNull() }) it('merges viewer parameters into existing fragments', () => { renderWithProviders() const iframe = screen.getByTitle('one.pdf') expect(iframe).toHaveAttribute( 'src', 'https://cdn.example.com/one.pdf#page=3&toolbar=0&navpanes=0' ) expect(iframe).toHaveAttribute( 'sandbox', 'allow-scripts allow-forms allow-popups allow-downloads' ) }) it('uses filename precedence and navigates stacked documents', () => { renderWithProviders( ) expect(screen.getByRole('dialog')).toHaveAttribute( 'aria-label', 'second.pdf' ) expect(screen.getByText('2 / 2')).toBeInTheDocument() fireEvent.click(screen.getByRole('button', { name: 'Previous document' })) expect(screen.getByTitle('one.pdf')).toBeInTheDocument() }) })