import 'fake-indexeddb/auto' import { describe, it, expect } from 'vitest' import { recentFilesRepository } from '../recentFilesRepository' describe('recentFilesRepository (真实 AriaEngine + IndexedDB)', () => { it('should add and read recent files', async () => { await recentFilesRepository.add('/test/a.md') const files = await recentFilesRepository.getAll(10) expect(files).toContain('/test/a.md') }) it('should update lastOpened on re-add', async () => { await recentFilesRepository.add('/test/b.md') await new Promise(r => setTimeout(r, 5)) await recentFilesRepository.add('/test/b.md') const files = await recentFilesRepository.getAll(10) expect(files[0]).toBe('/test/b.md') }) it('should enforce 50 item limit', async () => { for (let i = 0; i < 55; i++) { await recentFilesRepository.add(`/test/f${String(i).padStart(2, '0')}.md`) } const files = await recentFilesRepository.getAll(60) expect(files.length).toBeLessThanOrEqual(50) }) it('should remove a file', async () => { await recentFilesRepository.add('/test/remove-me.md') await recentFilesRepository.remove('/test/remove-me.md') const files = await recentFilesRepository.getAll(60) expect(files).not.toContain('/test/remove-me.md') }) })