feat(测试计划): 测试计划一键添加缺陷步骤优化
This commit is contained in:
parent
31215b4a9a
commit
fe4a731f17
|
@ -81,6 +81,7 @@ export interface CaseManagementTable {
|
||||||
|
|
||||||
// 选择类型步骤和预期结果列表
|
// 选择类型步骤和预期结果列表
|
||||||
export interface StepList {
|
export interface StepList {
|
||||||
|
num?: string;
|
||||||
id: string;
|
id: string;
|
||||||
step: string; // 步骤
|
step: string; // 步骤
|
||||||
expected: string; // 预期
|
expected: string; // 预期
|
||||||
|
@ -88,6 +89,7 @@ export interface StepList {
|
||||||
showExpected: boolean; // 编辑预期模式
|
showExpected: boolean; // 编辑预期模式
|
||||||
actualResult?: string; // 实际
|
actualResult?: string; // 实际
|
||||||
executeResult?: string; // 步骤执行结果
|
executeResult?: string; // 步骤执行结果
|
||||||
|
status?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type StepExecutionResult = Pick<StepList, 'actualResult' | 'executeResult'>;
|
export type StepExecutionResult = Pick<StepList, 'actualResult' | 'executeResult'>;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { getApiCaseReport, getApiCaseReportStep, getCaseDetail } from '@/api/mod
|
||||||
import { useI18n } from '@/hooks/useI18n';
|
import { useI18n } from '@/hooks/useI18n';
|
||||||
|
|
||||||
import { ResponseAssertionTableItem } from '@/models/apiTest/common';
|
import { ResponseAssertionTableItem } from '@/models/apiTest/common';
|
||||||
|
import type { StepList } from '@/models/caseManagement/featureCase';
|
||||||
import { FullResponseAssertionType } from '@/enums/apiEnum';
|
import { FullResponseAssertionType } from '@/enums/apiEnum';
|
||||||
import { CaseLinkEnum } from '@/enums/caseEnum';
|
import { CaseLinkEnum } from '@/enums/caseEnum';
|
||||||
|
|
||||||
|
@ -21,36 +22,58 @@ export const detailContentMap: Record<string, string> = {
|
||||||
};
|
};
|
||||||
// 获取步骤表格
|
// 获取步骤表格
|
||||||
function getStepsTable(steps: 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 = [
|
const templateFieldColumns = [
|
||||||
{
|
{
|
||||||
title: 'system.orgTemplate.numberIndex',
|
title: 'system.orgTemplate.numberIndex',
|
||||||
dataIndex: 'num',
|
dataIndex: 'num',
|
||||||
slotName: 'num',
|
slotName: 'num',
|
||||||
width: 30,
|
width: 30,
|
||||||
|
format: (rows: StepList) => {
|
||||||
|
return formatContent(rows, 'num');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'system.orgTemplate.useCaseStep',
|
title: 'system.orgTemplate.useCaseStep',
|
||||||
slotName: 'caseStep',
|
slotName: 'caseStep',
|
||||||
dataIndex: 'step',
|
dataIndex: 'step',
|
||||||
width: 200,
|
width: 200,
|
||||||
|
format: (rows: StepList) => {
|
||||||
|
return formatContent(rows, 'step');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'system.orgTemplate.expectedResult',
|
title: 'system.orgTemplate.expectedResult',
|
||||||
dataIndex: 'expected',
|
dataIndex: 'expected',
|
||||||
slotName: 'expectedResult',
|
slotName: 'expectedResult',
|
||||||
width: 200,
|
width: 200,
|
||||||
|
format: (rows: StepList) => {
|
||||||
|
return formatContent(rows, 'expected');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'system.orgTemplate.actualResult',
|
title: 'system.orgTemplate.actualResult',
|
||||||
dataIndex: 'actualResult',
|
dataIndex: 'actualResult',
|
||||||
slotName: 'actualResult',
|
slotName: 'actualResult',
|
||||||
width: 200,
|
width: 200,
|
||||||
|
format: (rows: StepList) => {
|
||||||
|
return formatContent(rows, 'actualResult');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'system.orgTemplate.stepExecutionResult',
|
title: 'system.orgTemplate.stepExecutionResult',
|
||||||
dataIndex: 'executeResult',
|
dataIndex: 'executeResult',
|
||||||
slotName: 'lastExecResult',
|
slotName: 'lastExecResult',
|
||||||
width: 120,
|
width: 120,
|
||||||
|
format: (rows: StepList) => {
|
||||||
|
return formatContent(rows, 'executeResult');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const stepsData = JSON.parse(steps).map((item: any, index: number) => {
|
const stepsData = JSON.parse(steps).map((item: any, index: number) => {
|
||||||
|
@ -61,6 +84,7 @@ function getStepsTable(steps: string) {
|
||||||
expected: item.result,
|
expected: item.result,
|
||||||
actualResult: item.actualResult,
|
actualResult: item.actualResult,
|
||||||
executeResult: item.executeResult ? executionResultMap[item.executeResult].statusText : '-',
|
executeResult: item.executeResult ? executionResultMap[item.executeResult].statusText : '-',
|
||||||
|
status: item.executeResult,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
if (!stepsData.length) {
|
if (!stepsData.length) {
|
||||||
|
|
Loading…
Reference in New Issue