第一次提交
This commit is contained in:
42
frontend/scripts/regression-dataset-task-tab.mjs
Normal file
42
frontend/scripts/regression-dataset-task-tab.mjs
Normal file
@@ -0,0 +1,42 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFile } from 'node:fs/promises'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import path from 'node:path'
|
||||
|
||||
const scriptDir = path.dirname(fileURLToPath(import.meta.url))
|
||||
const typesPath = path.resolve(scriptDir, '../src/types/index.ts')
|
||||
const dataPath = path.resolve(scriptDir, '../src/mock/data.ts')
|
||||
const viewPath = path.resolve(scriptDir, '../src/views/dataset/DatasetListView.vue')
|
||||
|
||||
const [typesSource, dataSource, viewSource] = await Promise.all([
|
||||
readFile(typesPath, 'utf8'),
|
||||
readFile(dataPath, 'utf8'),
|
||||
readFile(viewPath, 'utf8'),
|
||||
])
|
||||
|
||||
assert.match(typesSource, /export type DatasetSource = 'upload' \| 'task'/)
|
||||
assert.match(typesSource, /source\?: DatasetSource/)
|
||||
|
||||
assert.equal((dataSource.match(/source: 'upload'/g) || []).length, 6)
|
||||
assert.equal((dataSource.match(/source: 'task'/g) || []).length, 4)
|
||||
|
||||
for (const name of [
|
||||
'客服对话清洗集',
|
||||
'通用指令构造集',
|
||||
'用户反馈脱敏集',
|
||||
'多轮对话增强集',
|
||||
]) {
|
||||
const datasetLine = dataSource.split('\n').find((line) => line.includes(`name: '${name}'`))
|
||||
assert.ok(datasetLine, `缺少数据任务 Mock:${name}`)
|
||||
assert.match(datasetLine, /source: 'task'/, `${name} 必须标记为数据任务来源`)
|
||||
}
|
||||
|
||||
assert.match(viewSource, /const activeTab = ref<DatasetSource>\('upload'\)/)
|
||||
assert.match(
|
||||
viewSource,
|
||||
/if \(activeTab\.value === 'task'\) \{\s*return dataList\.value\.filter\(\(item\) => item\.source === 'task'\)\s*\}/,
|
||||
)
|
||||
assert.match(viewSource, /return dataList\.value\.filter\(\(item\) => item\.source !== 'task'\)/)
|
||||
assert.doesNotMatch(viewSource, /数据任务产生的数据集[\s\S]*?return \[\]/)
|
||||
|
||||
console.log('数据任务 Mock 数据与页签分流回归检查通过')
|
||||
Reference in New Issue
Block a user