test: 添加规则服务与电子表格变更记录的测试用例
- AgentAssetService 测试覆盖版本创建、送审、审核通过等流程 - 新增电子表格变更记录的前端测试
This commit is contained in:
92
web/tests/spreadsheet-change-records.test.mjs
Normal file
92
web/tests/spreadsheet-change-records.test.mjs
Normal file
@@ -0,0 +1,92 @@
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
import {
|
||||
buildSpreadsheetChangeRecords,
|
||||
resolveSpreadsheetOperationLabel
|
||||
} from '../src/views/scripts/spreadsheetChangeRecords.js'
|
||||
|
||||
function testResolveSpreadsheetOperationLabelFromHistorySource() {
|
||||
assert.equal(
|
||||
resolveSpreadsheetOperationLabel({
|
||||
spreadsheetMeta: { source: 'onlyoffice' },
|
||||
note: 'ONLYOFFICE 编辑保存规则表。'
|
||||
}),
|
||||
'在线编辑保存'
|
||||
)
|
||||
|
||||
assert.equal(
|
||||
resolveSpreadsheetOperationLabel({
|
||||
spreadsheetMeta: { source: 'content-import' }
|
||||
}),
|
||||
'导入表格'
|
||||
)
|
||||
}
|
||||
|
||||
function testBuildSpreadsheetChangeRecordsPrefersUnpublishedHistory() {
|
||||
const records = buildSpreadsheetChangeRecords({
|
||||
publishedVersion: 'v1.0.0',
|
||||
history: [
|
||||
{
|
||||
version: 'v1.0.1',
|
||||
note: 'ONLYOFFICE 编辑保存规则表。',
|
||||
createdBy: '张三',
|
||||
createdAt: '2026-05-18T10:00:00Z',
|
||||
isWorking: true,
|
||||
spreadsheetMeta: { source: 'onlyoffice' }
|
||||
},
|
||||
{
|
||||
version: 'v1.0.0',
|
||||
note: '首个上线版本',
|
||||
createdBy: '系统',
|
||||
createdAt: '2026-05-18T09:00:00Z',
|
||||
isWorking: false,
|
||||
spreadsheetMeta: { source: 'upload' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
assert.deepEqual(
|
||||
records.map((item) => [item.version, item.operationLabel]),
|
||||
[['v1.0.1', '在线编辑保存']]
|
||||
)
|
||||
}
|
||||
|
||||
function testBuildSpreadsheetChangeRecordsKeepsPendingLocalEditFirst() {
|
||||
const records = buildSpreadsheetChangeRecords({
|
||||
publishedVersion: 'v1.0.0',
|
||||
localRecords: [
|
||||
{
|
||||
version: 'v1.0.1',
|
||||
operationLabel: '编辑中',
|
||||
operationActor: '李四',
|
||||
note: '检测到未保存的表格改动,保存后会生成新版本并可查看差异。',
|
||||
time: '2026-05-18T10:30:00Z',
|
||||
isPendingLocalEdit: true,
|
||||
disabledReason: '当前是本地未保存修改,保存后才会生成可对比的版本。'
|
||||
}
|
||||
],
|
||||
history: [
|
||||
{
|
||||
version: 'v1.0.1',
|
||||
note: 'ONLYOFFICE 编辑保存规则表。',
|
||||
createdBy: '李四',
|
||||
createdAt: '2026-05-18T10:00:00Z',
|
||||
isWorking: true,
|
||||
spreadsheetMeta: { source: 'onlyoffice' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
assert.equal(records[0].operationLabel, '编辑中')
|
||||
assert.equal(records[0].isPendingLocalEdit, true)
|
||||
assert.equal(records[1].operationLabel, '在线编辑保存')
|
||||
}
|
||||
|
||||
function run() {
|
||||
testResolveSpreadsheetOperationLabelFromHistorySource()
|
||||
testBuildSpreadsheetChangeRecordsPrefersUnpublishedHistory()
|
||||
testBuildSpreadsheetChangeRecordsKeepsPendingLocalEditFirst()
|
||||
console.log('spreadsheet change record tests passed')
|
||||
}
|
||||
|
||||
run()
|
||||
Reference in New Issue
Block a user