chore(frontend): split fixture and generated model snapshots

This commit is contained in:
phamnazage-jpg
2026-05-13 15:08:37 +08:00
parent b19bb7d438
commit 6a2cd3f159
6 changed files with 55 additions and 50 deletions

View File

@@ -1,9 +1,9 @@
#!/bin/bash
# verify_t34.sh — 验收 T-3.4Explorer 接入真实 Schema JSON
# verify_t34.sh — 验收 T-3.4前端 fixture JSON 接入与回退层
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
FILE="$PROJECT_ROOT/frontend/src/pages/Explorer.tsx"
FILE="$PROJECT_ROOT/frontend/src/lib/models.ts"
JSON="$PROJECT_ROOT/frontend/src/data/models.json"
echo "=== T-3.4 验收检查 ==="
@@ -18,18 +18,18 @@ print('json-schema OK')
" && echo "json-schema PASS — JSON 含 generated_at/total/free/paid/models且 models 含 pricing.input/output" \
|| { echo "json-schema FAIL"; exit 1; }
# T-3.4.2: mapAPIResponseToModels 映射函数存在
if grep -q 'mapAPIResponseToModels' "$FILE"; then
echo "mapping PASS — mapAPIResponseToModels 函数存在"
# T-3.4.2: 前端具备 normalizeModel 映射函数
if grep -q 'normalizeModel' "$FILE"; then
echo "mapping PASS — normalizeModel 映射函数存在"
else
echo "mapping FAIL"
exit 1
fi
# T-3.4.3: getMockModels 改为从 JSON 加载
# T-3.4.3: fixture fallback 从 models.json 加载,而不是页面内硬编码 mock 数据
if grep -q "models.json" "$FILE" && \
! grep -q "provider.*OpenAI\|provider.*Anthropic\|provider.*DeepSeek" "$FILE"; then
echo "import PASS — getMockModels 引用 models.json无硬编码 provider"
echo "import PASS — 回退层引用 models.json页面内硬编码 mock 数据"
else
echo "import FAIL — 仍有硬编码 mock 数据"
exit 1