fix: fallback on invalid ai table output
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package ai
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestFallbackTableAnalysisUnparsedProfile(t *testing.T) {
|
||||
result := fallbackTableAnalysis(TableAnalysisInput{
|
||||
Topic: "销售分析",
|
||||
FileID: "file1",
|
||||
FileName: "sales.xlsx",
|
||||
FileType: "xlsx",
|
||||
FileSize: 5149,
|
||||
Profile: TableProfile{Parsed: false, Message: "source file is not available locally"},
|
||||
}, Usage{Model: "deepseek-flash"}, "AI 输出格式异常,已使用兜底解读。")
|
||||
if result.Title != "销售分析" {
|
||||
t.Fatalf("Title=%q, want 销售分析", result.Title)
|
||||
}
|
||||
if strings.TrimSpace(result.Interpretation) == "" {
|
||||
t.Fatal("Interpretation is empty")
|
||||
}
|
||||
if len(result.Alerts) < 2 {
|
||||
t.Fatalf("Alerts len=%d, want at least 2", len(result.Alerts))
|
||||
}
|
||||
if got := result.Metrics[len(result.Metrics)-1].Value; got != "未解析" {
|
||||
t.Fatalf("last metric value=%q, want 未解析", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user