import { describe, it, expect } from 'vitest' import { parseExtractionJson } from '../../src/main/services/knowledge-extraction-prompt' describe('knowledge extraction', () => { it('UT-EXT-01: parseExtractionJson parses valid array', () => { const raw = `[{"type":"fact","title":"测灵石","content":"石头发热","confidence":0.9}]` const items = parseExtractionJson(raw) expect(items).toHaveLength(1) expect(items[0].title).toBe('测灵石') expect(items[0].confidence).toBe(0.9) }) it('UT-EXT-02: parseExtractionJson handles markdown fence and suggestedMergeId', () => { const raw = '```json\n[{"type":"character","title":"林凡","content":"主角","confidence":0.85,"suggestedMergeId":"abc-123"}]\n```' const items = parseExtractionJson(raw) expect(items[0].suggestedMergeId).toBe('abc-123') }) })