openreader/tests/unit/document-previews-render.vitest.spec.ts

29 lines
1.1 KiB
TypeScript

import { describe, expect, test } from 'vitest';
import path from 'path';
import { readFile } from 'fs/promises';
import {
renderEpubCoverToJpeg,
renderPdfFirstPageToJpeg,
} from '../../src/lib/server/documents/previews-render';
describe('document-previews-render', () => {
test('renders first PDF page to JPEG preview', async () => {
const pdfPath = path.join(process.cwd(), 'tests/files/sample.pdf');
const bytes = await readFile(pdfPath);
const rendered = await renderPdfFirstPageToJpeg(bytes, 240);
expect(rendered.bytes.byteLength).toBeGreaterThan(1024);
expect(rendered.width).toBe(240);
expect(rendered.height).toBeGreaterThan(0);
});
test('extracts EPUB cover and renders to JPEG preview', async () => {
const epubPath = path.join(process.cwd(), 'tests/files/sample.epub');
const bytes = await readFile(epubPath);
const rendered = await renderEpubCoverToJpeg(bytes, 240);
expect(rendered.bytes.byteLength).toBeGreaterThan(1024);
expect(rendered.width).toBe(240);
expect(rendered.height).toBeGreaterThan(0);
});
});