46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
const test = require('node:test');
|
|
|
|
const MemoPages = require('../public/js/memo-pages.js');
|
|
|
|
test('备忘录页只从 URL 读取真实家谱编号', () => {
|
|
assert.equal(MemoPages.getCurrentGenealogyId('?genealogyId=900001001'), '900001001');
|
|
assert.equal(MemoPages.getCurrentGenealogyId(''), '');
|
|
});
|
|
|
|
test('备忘录写入只构造 Apifox 已核验请求体字段', () => {
|
|
assert.deepEqual(
|
|
MemoPages.buildMemoBody({
|
|
memoTitle: ' 祭祖提醒 ',
|
|
memoContent: ' 准备供品 ',
|
|
remindTime: '2026-07-24T09:00:00+08:00',
|
|
completed: ' 0 ',
|
|
mediaOssIds: '101,102',
|
|
sortOrder: '3',
|
|
status: ' enabled ',
|
|
relativeName: '旧字段'
|
|
}),
|
|
{
|
|
memoTitle: '祭祖提醒',
|
|
memoContent: '准备供品',
|
|
remindTime: '2026-07-24T09:00:00+08:00',
|
|
completed: '0',
|
|
mediaOssIds: '101,102',
|
|
sortOrder: 3,
|
|
status: 'enabled'
|
|
}
|
|
);
|
|
});
|
|
|
|
test('备忘录校验标题、附件 OSS ID 和排序值', () => {
|
|
assert.equal(MemoPages.validateMemoBody({ memoTitle: '' }), '请填写备忘标题');
|
|
assert.equal(MemoPages.validateMemoBody({ memoTitle: '提醒', mediaOssIds: '101, 102' }), '附件 OSS ID 请使用英文逗号分隔的正整数');
|
|
assert.equal(MemoPages.validateMemoBody(MemoPages.buildMemoBody({ memoTitle: '提醒', sortOrder: '1.5' })), '排序值必须是安全整数');
|
|
assert.equal(MemoPages.validateMemoBody({ memoTitle: '提醒', mediaOssIds: '101,102', sortOrder: 1 }), '');
|
|
});
|
|
|
|
test('备忘录列表不猜测未展开的响应 DTO', () => {
|
|
assert.deepEqual(MemoPages.normalizeMemoList([{ property1: 'value' }]), [{ property1: 'value' }]);
|
|
assert.deepEqual(MemoPages.normalizeMemoList({ rows: [] }), []);
|
|
});
|