feat(测试计划): 测试计划一键添加缺陷步骤优化

This commit is contained in:
xinxin.wu 2024-10-08 15:00:07 +08:00 committed by Craftsman
parent 31215b4a9a
commit fe4a731f17
2 changed files with 26 additions and 0 deletions

View File

@ -81,6 +81,7 @@ export interface CaseManagementTable {
// 选择类型步骤和预期结果列表
export interface StepList {
num?: string;
id: string;
step: string; // 步骤
expected: string; // 预期
@ -88,6 +89,7 @@ export interface StepList {
showExpected: boolean; // 编辑预期模式
actualResult?: string; // 实际
executeResult?: string; // 步骤执行结果
status?: string;
}
export type StepExecutionResult = Pick<StepList, 'actualResult' | 'executeResult'>;

View File

@ -6,6 +6,7 @@ import { getApiCaseReport, getApiCaseReportStep, getCaseDetail } from '@/api/mod
import { useI18n } from '@/hooks/useI18n';
import { ResponseAssertionTableItem } from '@/models/apiTest/common';
import type { StepList } from '@/models/caseManagement/featureCase';
import { FullResponseAssertionType } from '@/enums/apiEnum';
import { CaseLinkEnum } from '@/enums/caseEnum';
@ -21,36 +22,58 @@ export const detailContentMap: Record<string, string> = {
};
// 获取步骤表格
function getStepsTable(steps: string) {
const alertStatus = ['BLOCKED', 'ERROR'];
const formatContent = (rows: StepList, key: keyof StepList) => {
const valueKey = key as keyof StepList;
return alertStatus.includes(rows.status as string)
? `<span style="color:#f00"> ${rows[valueKey]} </span>`
: `<span> ${rows[valueKey]} </span>`;
};
const templateFieldColumns = [
{
title: 'system.orgTemplate.numberIndex',
dataIndex: 'num',
slotName: 'num',
width: 30,
format: (rows: StepList) => {
return formatContent(rows, 'num');
},
},
{
title: 'system.orgTemplate.useCaseStep',
slotName: 'caseStep',
dataIndex: 'step',
width: 200,
format: (rows: StepList) => {
return formatContent(rows, 'step');
},
},
{
title: 'system.orgTemplate.expectedResult',
dataIndex: 'expected',
slotName: 'expectedResult',
width: 200,
format: (rows: StepList) => {
return formatContent(rows, 'expected');
},
},
{
title: 'system.orgTemplate.actualResult',
dataIndex: 'actualResult',
slotName: 'actualResult',
width: 200,
format: (rows: StepList) => {
return formatContent(rows, 'actualResult');
},
},
{
title: 'system.orgTemplate.stepExecutionResult',
dataIndex: 'executeResult',
slotName: 'lastExecResult',
width: 120,
format: (rows: StepList) => {
return formatContent(rows, 'executeResult');
},
},
];
const stepsData = JSON.parse(steps).map((item: any, index: number) => {
@ -61,6 +84,7 @@ function getStepsTable(steps: string) {
expected: item.result,
actualResult: item.actualResult,
executeResult: item.executeResult ? executionResultMap[item.executeResult].statusText : '-',
status: item.executeResult,
};
});
if (!stepsData.length) {