import { describe, expect, test } from 'vitest'; import { converters } from './search-converters'; /** * 单元测试: converters */ describe('converters', () => { test('convert product item', () => { const item = { id: 1, name: 'Hydraulic Pump', summary: 'High efficiency', description: 'Detailed description', type: 'pump', cover: 'rand-om__-uuid-1234', }; const result = converters.products(item); expect(result).toEqual({ id: 1, sectionType: 'product', title: 'Hydraulic Pump', summary: 'High efficiency', type: 'pump', thumbnail: '/api/assets/rand-om__-uuid-1234', }); }); test('convert solution item', () => { const item = { id: 1, title: 'Solution A', summary: 'Effective solution', content: 'Detailed content', type: 'Type A', cover: 'rand-om__-uuid-5678', }; const result = converters.solutions(item); expect(result).toEqual({ id: 1, sectionType: 'solution', title: 'Solution A', summary: 'Effective solution', type: 'Type A', thumbnail: '/api/assets/rand-om__-uuid-5678', }); }); test('convert question item', () => { const item = { id: 1, title: 'How to use product?', content: 'This is a detailed explanation of how to use the product effectively.', products: ['Product A'], product_types: ['Type A'], type: 'Question Type', }; const result = converters.questions(item); expect(result).toEqual({ id: 1, title: 'How to use product?', summary: undefined, type: 'Question Type', sectionType: 'question', }); }); test('convert product document item', () => { const item = { id: 1, title: 'User Manual', products: ['Product A'], product_types: ['Type A'], fileUUID: 'TEST-UUID', type: 'manual', }; const result = converters.product_documents(item); expect(result).toEqual({ id: 'TEST-UUID', title: 'User Manual', summary: undefined, sectionType: 'document', type: 'manual', }); }); });