Files
X-Financial/web/tests/settings-llm-section.test.mjs

35 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
const settingsModel = readFileSync(new URL('../src/utils/settingsModelHelper.js', import.meta.url), 'utf8')
const settingsView = readFileSync(new URL('../src/views/SettingsView.vue', import.meta.url), 'utf8')
const llmSettingsPanel = readFileSync(new URL('../src/views/LlmSettingsPanel.vue', import.meta.url), 'utf8')
function testLlmSectionReplacesVlmWithReranker() {
assert.doesNotMatch(settingsView, /VLM 模型/)
assert.match(llmSettingsPanel, /Rerank/)
assert.match(settingsModel, /rerankerProvider/)
}
function testLlmSectionUsesTableAndAddModelDialog() {
assert.match(llmSettingsPanel, /model-table-toolbar[\s\S]*添加模型/)
assert.match(llmSettingsPanel, /<table class="model-config-table">/)
assert.match(llmSettingsPanel, /model-dialog-overlay/)
assert.match(llmSettingsPanel, /供应商[\s\S]*接口地址[\s\S]*API Key[\s\S]*model_id[\s\S]*模型类型/)
assert.match(llmSettingsPanel, /大语言模型[\s\S]*Embedding[\s\S]*Rerank/)
}
function testSettingsModelKeepsExtensibleModelRows() {
assert.match(settingsModel, /models:\s*buildLlmModelRows/)
assert.match(settingsModel, /buildLlmModelRows/)
}
function run() {
testLlmSectionReplacesVlmWithReranker()
testLlmSectionUsesTableAndAddModelDialog()
testSettingsModelKeepsExtensibleModelRows()
console.log('settings llm section tests passed')
}
run()