feat: 完善知识库、策略预览与OnlyOffice集成,增强后端启动依赖检查
This commit is contained in:
@@ -1,69 +1,69 @@
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
import {
|
||||
buildExcelPreviewTable,
|
||||
buildPreviewMetaLine,
|
||||
buildPreviewSecondaryMetaLine
|
||||
} from '../src/views/scripts/policiesPreviewFormatters.js'
|
||||
|
||||
function testBuildPreviewMetaLineUsesRealDocumentFields() {
|
||||
const document = {
|
||||
summary: '财务知识库 · XLSX · 10.9 KB',
|
||||
time: '2026-05-09 12:30'
|
||||
}
|
||||
|
||||
assert.deepEqual(buildPreviewMetaLine(document), ['财务知识库 · XLSX · 10.9 KB', '2026-05-09 12:30'])
|
||||
}
|
||||
|
||||
function testBuildPreviewSecondaryMetaLineForExcelUsesSubtitleAndStats() {
|
||||
const document = {
|
||||
previewKind: 'table',
|
||||
previewPages: [
|
||||
{
|
||||
subtitle: '表格内容预览',
|
||||
stats: [
|
||||
{ label: '工作表数量', value: '4' },
|
||||
{ label: '预览行数', value: '7' },
|
||||
{ label: '文件大小', value: '10.9 KB' }
|
||||
]
|
||||
},
|
||||
{
|
||||
subtitle: '第二页签预览',
|
||||
stats: [
|
||||
{ label: '工作表数量', value: '4' },
|
||||
{ label: '预览行数', value: '3' }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
assert.deepEqual(buildPreviewSecondaryMetaLine(document, document.previewPages[0]), ['表格内容预览', '工作表数量 4', '预览行数 7'])
|
||||
assert.deepEqual(buildPreviewSecondaryMetaLine(document, document.previewPages[1]), ['第二页签预览', '工作表数量 4', '预览行数 3'])
|
||||
}
|
||||
|
||||
function testBuildExcelPreviewTableParsesHeaderAndRows() {
|
||||
const page = {
|
||||
blocks: [
|
||||
{ heading: '第 1 行', lines: ['日期 | 部门 | 金额 | 备注'] },
|
||||
{ heading: '第 2 行', lines: ['2026-05-01 | 财务部 | 300 | 差旅'] },
|
||||
{ heading: '第 3 行', lines: ['2026-05-02 | 行政部 | 120 | '] }
|
||||
]
|
||||
}
|
||||
|
||||
assert.deepEqual(buildExcelPreviewTable(page), {
|
||||
headers: ['日期', '部门', '金额', '备注'],
|
||||
rows: [
|
||||
['2026-05-01', '财务部', '300', '差旅'],
|
||||
['2026-05-02', '行政部', '120', '']
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
function run() {
|
||||
testBuildPreviewMetaLineUsesRealDocumentFields()
|
||||
testBuildPreviewSecondaryMetaLineForExcelUsesSubtitleAndStats()
|
||||
testBuildExcelPreviewTableParsesHeaderAndRows()
|
||||
console.log('policies preview formatter tests passed')
|
||||
}
|
||||
|
||||
run()
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
import {
|
||||
buildExcelPreviewTable,
|
||||
buildPreviewMetaLine,
|
||||
buildPreviewSecondaryMetaLine
|
||||
} from '../src/views/scripts/policiesPreviewFormatters.js'
|
||||
|
||||
function testBuildPreviewMetaLineUsesRealDocumentFields() {
|
||||
const document = {
|
||||
summary: '财务知识库 · XLSX · 10.9 KB',
|
||||
time: '2026-05-09 12:30'
|
||||
}
|
||||
|
||||
assert.deepEqual(buildPreviewMetaLine(document), ['财务知识库 · XLSX · 10.9 KB', '2026-05-09 12:30'])
|
||||
}
|
||||
|
||||
function testBuildPreviewSecondaryMetaLineForExcelUsesSubtitleAndStats() {
|
||||
const document = {
|
||||
previewKind: 'table',
|
||||
previewPages: [
|
||||
{
|
||||
subtitle: '表格内容预览',
|
||||
stats: [
|
||||
{ label: '工作表数量', value: '4' },
|
||||
{ label: '预览行数', value: '7' },
|
||||
{ label: '文件大小', value: '10.9 KB' }
|
||||
]
|
||||
},
|
||||
{
|
||||
subtitle: '第二页签预览',
|
||||
stats: [
|
||||
{ label: '工作表数量', value: '4' },
|
||||
{ label: '预览行数', value: '3' }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
assert.deepEqual(buildPreviewSecondaryMetaLine(document, document.previewPages[0]), ['表格内容预览', '工作表数量 4', '预览行数 7'])
|
||||
assert.deepEqual(buildPreviewSecondaryMetaLine(document, document.previewPages[1]), ['第二页签预览', '工作表数量 4', '预览行数 3'])
|
||||
}
|
||||
|
||||
function testBuildExcelPreviewTableParsesHeaderAndRows() {
|
||||
const page = {
|
||||
blocks: [
|
||||
{ heading: '第 1 行', lines: ['日期 | 部门 | 金额 | 备注'] },
|
||||
{ heading: '第 2 行', lines: ['2026-05-01 | 财务部 | 300 | 差旅'] },
|
||||
{ heading: '第 3 行', lines: ['2026-05-02 | 行政部 | 120 | '] }
|
||||
]
|
||||
}
|
||||
|
||||
assert.deepEqual(buildExcelPreviewTable(page), {
|
||||
headers: ['日期', '部门', '金额', '备注'],
|
||||
rows: [
|
||||
['2026-05-01', '财务部', '300', '差旅'],
|
||||
['2026-05-02', '行政部', '120', '']
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
function run() {
|
||||
testBuildPreviewMetaLineUsesRealDocumentFields()
|
||||
testBuildPreviewSecondaryMetaLineForExcelUsesSubtitleAndStats()
|
||||
testBuildExcelPreviewTableParsesHeaderAndRows()
|
||||
console.log('policies preview formatter tests passed')
|
||||
}
|
||||
|
||||
run()
|
||||
|
||||
Reference in New Issue
Block a user