Files
jinshen-website/server/mappers/solutionMapper.test.ts
R2m1liA 63c3e2e364 refactor: 重构解决方案相关Mapper
- 空值处理与类型控制:为关系型字段添加空值处理与类型控制逻辑
- 目录结构调整:分离SolutionList与Solution相关的Mapper为不同的文件
2025-12-04 17:40:04 +08:00

50 lines
1.1 KiB
TypeScript

import { describe, test, expect } from 'vitest';
import { toSolutionView } from './solutionMapper';
/**
* 单元测试: toSolutionView
*/
describe('toSolutionView', () => {
const baseData: Solution = {
id: 1,
translations: [
{
id: 1,
title: 'Solution Title',
summary: 'Solution Summary',
content: 'Solution Content',
},
],
create_at: '2023-01-01T00:00:00Z',
};
test('convert raw data to SolutionView correctly', () => {
const rawData: Solution = {
...baseData,
};
expect(toSolutionView(rawData)).toEqual({
id: '1',
title: 'Solution Title',
summary: 'Solution Summary',
content: 'Solution Content',
createAt: '2023-01-01T00:00:00Z',
});
});
test('convert raw data with missing translations', () => {
const rawData: Solution = {
...baseData,
translations: [],
};
expect(toSolutionView(rawData)).toEqual({
id: '1',
title: '',
summary: '',
content: '',
createAt: '2023-01-01T00:00:00Z',
});
});
});