diff --git a/src/modules/pdf-forge/store/usePdfStore.test.ts b/src/modules/pdf-forge/store/usePdfStore.test.ts index 9cf2d7a2..d8ccd4fb 100644 --- a/src/modules/pdf-forge/store/usePdfStore.test.ts +++ b/src/modules/pdf-forge/store/usePdfStore.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest'; -import { usePdfStore } from './usePdfStore'; +import { usePdfStore, toBlob } from './usePdfStore'; // Mock pdf-lib vi.mock('pdf-lib', () => { @@ -52,6 +52,26 @@ describe('usePdfStore', () => { vi.restoreAllMocks(); }); + describe('toBlob', () => { + it('should convert a Uint8Array to a Blob with application/pdf type', () => { + const data = new Uint8Array([1, 2, 3, 4]); + const blob = toBlob(data); + + expect(blob).toBeInstanceOf(Blob); + expect(blob.type).toBe('application/pdf'); + expect(blob.size).toBe(4); + }); + + it('should handle an empty Uint8Array correctly', () => { + const emptyData = new Uint8Array([]); + const blob = toBlob(emptyData); + + expect(blob).toBeInstanceOf(Blob); + expect(blob.type).toBe('application/pdf'); + expect(blob.size).toBe(0); + }); + }); + it('should have initial state', () => { const state = usePdfStore.getState(); expect(state.task.operation).toBe('merge'); diff --git a/src/modules/pdf-forge/store/usePdfStore.ts b/src/modules/pdf-forge/store/usePdfStore.ts index 068ddf7f..562d2a5e 100644 --- a/src/modules/pdf-forge/store/usePdfStore.ts +++ b/src/modules/pdf-forge/store/usePdfStore.ts @@ -30,7 +30,7 @@ async function loadPdfPages(file: File): Promise { })); } -function toBlob(data: Uint8Array): Blob { +export function toBlob(data: Uint8Array): Blob { return new Blob([data.buffer as ArrayBuffer], { type: 'application/pdf' }); }