refactor(test): move PdfViewer import to top and annotate partial fake cast

- import PdfViewer left mid-file from vi.mock hoisting — no longer needed (Sara/Felix)
- adds one-line comment explaining as unknown as cast is an intentional partial fake (Felix)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-11 22:49:34 +02:00
parent b9e2ed4af8
commit 3bb940a2c2

View File

@@ -2,6 +2,7 @@ import { vi, describe, it, expect, afterEach } from 'vitest';
import { cleanup, render } from 'vitest-browser-svelte'; import { cleanup, render } from 'vitest-browser-svelte';
import { page } from 'vitest/browser'; import { page } from 'vitest/browser';
import type { createPdfRenderer } from '$lib/document/viewer/usePdfRenderer.svelte'; import type { createPdfRenderer } from '$lib/document/viewer/usePdfRenderer.svelte';
import PdfViewer from './PdfViewer.svelte';
afterEach(cleanup); afterEach(cleanup);
@@ -23,6 +24,7 @@ function makeFakePdfjsLib() {
}) })
}), }),
TextLayer: TextLayerMock TextLayer: TextLayerMock
// Partial fake: only the methods used by usePdfRenderer are implemented
} as unknown as typeof import('pdfjs-dist'); } as unknown as typeof import('pdfjs-dist');
} }
@@ -31,8 +33,6 @@ function makeFakeLibLoader(): Parameters<typeof createPdfRenderer>[0] {
return vi.fn().mockResolvedValue([fakePdfjs, { default: '' }] as const); return vi.fn().mockResolvedValue([fakePdfjs, { default: '' }] as const);
} }
import PdfViewer from './PdfViewer.svelte';
describe('PdfViewer', () => { describe('PdfViewer', () => {
it('shows previous and next page navigation buttons', async () => { it('shows previous and next page navigation buttons', async () => {
render(PdfViewer, { url: '/api/documents/test-id/file', libLoader: makeFakeLibLoader() }); render(PdfViewer, { url: '/api/documents/test-id/file', libLoader: makeFakeLibLoader() });