From c334ea50112a9b4bbb314cd2eb68ee367f6173f0 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期二, 08 九月 2026 18:06:33 +0800
Subject: [PATCH] 验证旧拼接残留实验键不阻断更新

---
 tests/e2e/splice-battery-segments.spec.ts |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tests/e2e/splice-battery-segments.spec.ts b/tests/e2e/splice-battery-segments.spec.ts
index 241353f..7731211 100644
--- a/tests/e2e/splice-battery-segments.spec.ts
+++ b/tests/e2e/splice-battery-segments.spec.ts
@@ -157,7 +157,7 @@
   // 隔离库复原旧07快照形状:普通读写不补来源行,明确更新才启用新详情,同时保留旧人工值。
   const legacy = await api(page, 'splice-report', 'POST', { name: '旧07快照', selections: [selection(9701), selection(9702)], settings: {
     fieldStructure: [{ name: '旧人工字段', displayName: '旧人工字段', category: 'special', unit: '' }],
-    detailFieldValues: { 旧人工字段: { '9701|9701': '旧人工保留' } }, sourceExperimentNames: { '9701|9701': '旧实验保留' },
+    detailFieldValues: { 旧人工字段: { '9701|9701': '旧人工保留' } }, sourceExperimentNames: { '9701|9701': '旧实验保留', '9702|9703': '已移除来源残留实验' },
   } })
   stack.executeIsolatedSql(`UPDATE t_splice_report_version SET snapshot_json=JSON_REMOVE(snapshot_json,'$.settings.sourceDetailOverrides') WHERE report_id=${legacy.id}`)
   const old = await api(page, `splice-report/${legacy.id}`)
@@ -173,11 +173,13 @@
   const legacyUpdated = await api(page, `splice-report/${legacy.id}/refresh-source`, 'POST', { baseVersionNo: 2, changeSummary: '旧版明确更新' })
   expect(legacyUpdated.settings.detailFieldValues).toEqual(old.settings.detailFieldValues)
   expect(legacyUpdated.settings.sourceDetailOverrides['9701|9701'].experimentName).toBe('旧实验保留')
+  expect(legacyUpdated.settings.sourceDetailOverrides['9702|9703']).toBeUndefined()
   await page.goto(`/report-splice/${legacy.id}/edit?mode=view`)
   await expect(page.locator('.source-detail-section')).toContainText('旧实验保留')
   await expect(page.locator('.source-detail-section')).toContainText('新增内容')
   await expect(page.locator('.report-field-section')).toContainText('旧人工保留')
   expect(await api(page, `splice-report/${legacy.id}/versions/1`)).toEqual(old)
+  expect((await api(page, `splice-report/${legacy.id}/versions/1`)).settings.sourceExperimentNames).toEqual({ '9701|9701': '旧实验保留', '9702|9703': '已移除来源残留实验' })
   expect(templateId).toBeGreaterThan(0)
   expect(errors).toEqual([])
 })

--
Gitblit v1.7.1