52 lines
2.2 KiB
JavaScript
52 lines
2.2 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
const test = require('node:test');
|
|
|
|
const GrowthPages = require('../public/js/growth-pages.js');
|
|
|
|
test('成长记录页只从 URL 读取真实家谱编号', () => {
|
|
assert.equal(GrowthPages.getCurrentGenealogyId('?genealogyId=900001001'), '900001001');
|
|
assert.equal(GrowthPages.getCurrentGenealogyId(''), '');
|
|
});
|
|
|
|
test('成长记录写入只构造 Apifox GrowthRecordBody 字段', () => {
|
|
assert.deepEqual(
|
|
GrowthPages.buildGrowthRecordBody({
|
|
lineagePersonId: '2060000000000000001',
|
|
recordType: 'birth',
|
|
recordTitle: ' 出生记录 ',
|
|
recordContent: ' 平安出生 ',
|
|
recordDate: '2026-07-24',
|
|
remindTime: '2026-07-24T09:00:00+08:00',
|
|
mediaOssIds: '101,102',
|
|
sortOrder: '3',
|
|
status: 'enabled',
|
|
content: '旧字段',
|
|
personId: '旧字段'
|
|
}),
|
|
{
|
|
lineagePersonId: '2060000000000000001',
|
|
recordType: 'birth',
|
|
recordTitle: '出生记录',
|
|
recordContent: '平安出生',
|
|
recordDate: '2026-07-24',
|
|
remindTime: '2026-07-24T09:00:00+08:00',
|
|
mediaOssIds: '101,102',
|
|
sortOrder: 3,
|
|
status: 'enabled'
|
|
}
|
|
);
|
|
});
|
|
|
|
test('成长记录校验标题、整数 ID、附件 OSS ID 和排序值', () => {
|
|
assert.equal(GrowthPages.validateGrowthRecordBody({ recordTitle: '' }), '请填写记录标题');
|
|
assert.equal(GrowthPages.validateGrowthRecordBody({ recordTitle: '记录', lineagePersonId: 'A-1' }), '世系人物 ID 必须是整数');
|
|
assert.equal(GrowthPages.validateGrowthRecordBody({ recordTitle: '记录', mediaOssIds: '101, 102' }), '附件 OSS ID 请使用英文逗号分隔的正整数');
|
|
assert.equal(GrowthPages.validateGrowthRecordBody(GrowthPages.buildGrowthRecordBody({ recordTitle: '记录', sortOrder: '1.5' })), '排序值必须是安全整数');
|
|
assert.equal(GrowthPages.validateGrowthRecordBody({ recordTitle: '记录', mediaOssIds: '101,102', sortOrder: 1 }), '');
|
|
});
|
|
|
|
test('成长记录列表不猜测未展开的响应 DTO', () => {
|
|
assert.deepEqual(GrowthPages.normalizeGrowthList([{ property1: 'value' }]), [{ property1: 'value' }]);
|
|
assert.deepEqual(GrowthPages.normalizeGrowthList({ rows: [] }), []);
|
|
});
|