yeg
2026-09-07 2ec9cd3f76d33fd5add92adb98dcd71028ef7974
补充拼接报表删源编辑与版本失败验证
1个文件已修改
16 ■■■■■ 已修改文件
tests/e2e/splice-saved-version-print.spec.ts 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tests/e2e/splice-saved-version-print.spec.ts
@@ -62,6 +62,20 @@
  await page.getByPlaceholder('请输入拼接报表名称').fill('未保存名称')
  await page.getByRole('button', { name: '打印 / 另存 PDF', exact: true }).click()
  await expect(page.getByText('有未保存修改,请先保存新版本后再打印', { exact: true })).toBeVisible()
  await page.getByPlaceholder('请输入拼接报表名称').fill('拼接打印V3')
  await page.locator('.detail-table input').fill('人工新版')
  await page.locator('.metric-switches label').filter({ hasText: '能量效率' }).click()
  await page.getByRole('button', { name: '保存修改', exact: true }).click()
  await expect(page).toHaveURL(/\/report-splice$/)
  const v3 = (await api(page, `splice-report/${v1.id}`)).data
  expect(v3.versionNo).toBe(3)
  expect(v3.segments).toEqual(v1.segments)
  expect(v3.settings.detailFieldValues['人工备注']['电池01']).toBe('人工新版')
  expect(v3.settings.metrics).toEqual(['finalVoltage1'])
  await page.goto(`/report-splice/${v1.id}/edit?mode=view&version=999`)
  await expect(page.locator('.el-alert')).toContainText('版本不存在')
  await expect(page.locator('.splice-snapshot')).toHaveCount(0)
  await expect(page.getByRole('button', { name: '打印 / 另存 PDF', exact: true })).toBeDisabled()
  await page.goto('/report-splice/new')
  await page.getByRole('button', { name: '打印 / 另存 PDF', exact: true }).click()
  await expect(page.getByText('请先保存报表后再打印', { exact: true })).toBeVisible()
@@ -81,7 +95,7 @@
  await login(page, 'splice_reader')
  await api(page, `splice-report/${saved.id}/versions/1/print`, 'GET', undefined, 403)
  await page.goto(`/report-splice/${saved.id}/edit?mode=view`)
  await expect(page.locator('.splice-snapshot h1')).toHaveText('拼接打印V2')
  await expect(page.locator('.splice-snapshot h1')).toHaveText('拼接打印V3')
  await expect(page.getByRole('button', { name: '打印 / 另存 PDF', exact: true })).toHaveCount(0)
  await page.getByRole('button', { name: '历史版本', exact: true }).click()
  await page.locator('.el-dialog tr').filter({ hasText: '首次保存' }).getByRole('button', { name: '查看', exact: true }).click()