feat(测试用例): 获取用例导出字段
This commit is contained in:
parent
f53bac0332
commit
8bb5567c5f
|
@ -266,4 +266,16 @@ xmind_tags=tags
|
||||||
xmind_textDescription=Text description
|
xmind_textDescription=Text description
|
||||||
xmind_expectedResult=Expected result
|
xmind_expectedResult=Expected result
|
||||||
xmind_step=Step
|
xmind_step=Step
|
||||||
xmind_stepDescription=Step description
|
xmind_stepDescription=Step description
|
||||||
|
# case export columns
|
||||||
|
case.export.system.columns.name=Name
|
||||||
|
case.export.system.columns.id=ID
|
||||||
|
case.export.system.columns.prerequisite=Prerequisite
|
||||||
|
case.export.system.columns.text_description=Text description
|
||||||
|
case.export.system.columns.expected_result=Expected result
|
||||||
|
case.export.system.other.columns.last_execute_result=Last execution result
|
||||||
|
case.export.system.other.columns.review_status=Review status
|
||||||
|
case.export.system.other.columns.create_user=Create user
|
||||||
|
case.export.system.other.columns.create_time=Create time
|
||||||
|
case.export.system.other.columns.update_user=Update user
|
||||||
|
case.export.system.other.columns.update_time=Update time
|
|
@ -264,4 +264,16 @@ xmind_tags=标签
|
||||||
xmind_textDescription=文本描述
|
xmind_textDescription=文本描述
|
||||||
xmind_expectedResult=预期结果
|
xmind_expectedResult=预期结果
|
||||||
xmind_step=用例步骤
|
xmind_step=用例步骤
|
||||||
xmind_stepDescription=步骤描述
|
xmind_stepDescription=步骤描述
|
||||||
|
# case export columns
|
||||||
|
case.export.system.columns.name=用例名称
|
||||||
|
case.export.system.columns.id=ID
|
||||||
|
case.export.system.columns.prerequisite=前置条件
|
||||||
|
case.export.system.columns.text_description=步骤描述
|
||||||
|
case.export.system.columns.expected_result=预期结果
|
||||||
|
case.export.system.other.columns.last_execute_result=执行结果
|
||||||
|
case.export.system.other.columns.review_status=评审结果
|
||||||
|
case.export.system.other.columns.create_user=创建人
|
||||||
|
case.export.system.other.columns.create_time=创建时间
|
||||||
|
case.export.system.other.columns.update_user=更新人
|
||||||
|
case.export.system.other.columns.update_time=更新时间
|
|
@ -265,4 +265,16 @@ xmind_tags=標簽
|
||||||
xmind_textDescription=文本描述
|
xmind_textDescription=文本描述
|
||||||
xmind_expectedResult=預期結果
|
xmind_expectedResult=預期結果
|
||||||
xmind_step=用例步驟
|
xmind_step=用例步驟
|
||||||
xmind_stepDescription=步驟描述
|
xmind_stepDescription=步驟描述
|
||||||
|
# case export columns
|
||||||
|
case.export.system.columns.name=用例名稱
|
||||||
|
case.export.system.columns.id=ID
|
||||||
|
case.export.system.columns.prerequisite=前置條件
|
||||||
|
case.export.system.columns.text_description=步驟描述
|
||||||
|
case.export.system.columns.expected_result=預期結果
|
||||||
|
case.export.system.other.columns.last_execute_result=執行結果
|
||||||
|
case.export.system.other.columns.review_status=評審結果
|
||||||
|
case.export.system.other.columns.create_user=創建人
|
||||||
|
case.export.system.other.columns.create_time=創建時間
|
||||||
|
case.export.system.other.columns.update_user=更新人
|
||||||
|
case.export.system.other.columns.update_time=更新時間
|
|
@ -8,6 +8,7 @@ import io.metersphere.functional.dto.FunctionalCaseDetailDTO;
|
||||||
import io.metersphere.functional.dto.FunctionalCasePageDTO;
|
import io.metersphere.functional.dto.FunctionalCasePageDTO;
|
||||||
import io.metersphere.functional.dto.FunctionalCaseVersionDTO;
|
import io.metersphere.functional.dto.FunctionalCaseVersionDTO;
|
||||||
import io.metersphere.functional.dto.response.FunctionalCaseImportResponse;
|
import io.metersphere.functional.dto.response.FunctionalCaseImportResponse;
|
||||||
|
import io.metersphere.functional.excel.domain.FunctionalCaseExportColumns;
|
||||||
import io.metersphere.functional.request.*;
|
import io.metersphere.functional.request.*;
|
||||||
import io.metersphere.functional.service.*;
|
import io.metersphere.functional.service.*;
|
||||||
import io.metersphere.project.dto.CustomFieldOptions;
|
import io.metersphere.project.dto.CustomFieldOptions;
|
||||||
|
@ -263,4 +264,12 @@ public class FunctionalCaseController {
|
||||||
public void xmindTemplateExport(@PathVariable String projectId, HttpServletResponse response) {
|
public void xmindTemplateExport(@PathVariable String projectId, HttpServletResponse response) {
|
||||||
functionalCaseXmindService.downloadXmindTemplate(projectId, response);
|
functionalCaseXmindService.downloadXmindTemplate(projectId, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export/columns/{projectId}")
|
||||||
|
@Operation(summary = "用例管理-获取导出字段配置")
|
||||||
|
@RequiresPermissions(PermissionConstants.FUNCTIONAL_CASE_READ)
|
||||||
|
@CheckOwner(resourceId = "#projectId", resourceType = "project")
|
||||||
|
public FunctionalCaseExportColumns getExportColumns(@PathVariable String projectId) {
|
||||||
|
return functionalCaseFileService.getExportColumns(projectId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package io.metersphere.functional.excel.domain;
|
||||||
|
|
||||||
|
import io.metersphere.sdk.util.Translator;
|
||||||
|
import io.metersphere.system.dto.sdk.TemplateCustomFieldDTO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wx
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FunctionalCaseExportColumns {
|
||||||
|
private LinkedHashMap<String, String> systemColumns = new LinkedHashMap<>();
|
||||||
|
private LinkedHashMap<String, String> otherColumns = new LinkedHashMap<>();
|
||||||
|
private LinkedHashMap<String, String> customColumns = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
public FunctionalCaseExportColumns() {
|
||||||
|
// 系统字段
|
||||||
|
systemColumns.put("name", Translator.get("case.export.system.columns.name"));
|
||||||
|
systemColumns.put("num", Translator.get("case.export.system.columns.id"));
|
||||||
|
systemColumns.put("prerequisite", Translator.get("case.export.system.columns.prerequisite"));
|
||||||
|
systemColumns.put("module", Translator.get("case.export.system.columns.module"));
|
||||||
|
systemColumns.put("text_description", Translator.get("case.export.system.columns.text_description"));
|
||||||
|
systemColumns.put("expected_result", Translator.get("case.export.system.columns.expected_result"));
|
||||||
|
|
||||||
|
// 其他字段
|
||||||
|
otherColumns.put("last_execute_result", Translator.get("case.export.system.other.columns.last_execute_result"));
|
||||||
|
otherColumns.put("review_status", Translator.get("case.export.system.other.columns.review_status"));
|
||||||
|
otherColumns.put("create_user", Translator.get("case.export.system.other.columns.create_user"));
|
||||||
|
otherColumns.put("create_time", Translator.get("case.export.system.other.columns.create_time"));
|
||||||
|
otherColumns.put("update_user", Translator.get("case.export.system.other.columns.update_user"));
|
||||||
|
otherColumns.put("update_time", Translator.get("case.export.system.other.columns.update_time"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void initCustomColumns(List<TemplateCustomFieldDTO> headerCustomFields) {
|
||||||
|
headerCustomFields.forEach(item -> customColumns.put(item.getFieldId(), item.getFieldName()));
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,10 +14,7 @@ import io.metersphere.functional.dto.response.FunctionalCaseImportResponse;
|
||||||
import io.metersphere.functional.excel.constants.FunctionalCaseImportFiled;
|
import io.metersphere.functional.excel.constants.FunctionalCaseImportFiled;
|
||||||
import io.metersphere.functional.excel.converter.FunctionalCaseExportConverter;
|
import io.metersphere.functional.excel.converter.FunctionalCaseExportConverter;
|
||||||
import io.metersphere.functional.excel.converter.FunctionalCaseExportConverterFactory;
|
import io.metersphere.functional.excel.converter.FunctionalCaseExportConverterFactory;
|
||||||
import io.metersphere.functional.excel.domain.ExcelMergeInfo;
|
import io.metersphere.functional.excel.domain.*;
|
||||||
import io.metersphere.functional.excel.domain.FunctionalCaseExcelData;
|
|
||||||
import io.metersphere.functional.excel.domain.FunctionalCaseExcelDataFactory;
|
|
||||||
import io.metersphere.functional.excel.domain.FunctionalCaseHeader;
|
|
||||||
import io.metersphere.functional.excel.handler.FunctionCaseMergeWriteHandler;
|
import io.metersphere.functional.excel.handler.FunctionCaseMergeWriteHandler;
|
||||||
import io.metersphere.functional.excel.handler.FunctionCaseTemplateWriteHandler;
|
import io.metersphere.functional.excel.handler.FunctionCaseTemplateWriteHandler;
|
||||||
import io.metersphere.functional.excel.listener.FunctionalCaseCheckEventListener;
|
import io.metersphere.functional.excel.listener.FunctionalCaseCheckEventListener;
|
||||||
|
@ -729,4 +726,12 @@ public class FunctionalCaseFileService {
|
||||||
};
|
};
|
||||||
return headList;
|
return headList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public FunctionalCaseExportColumns getExportColumns(String projectId) {
|
||||||
|
FunctionalCaseExportColumns functionalCaseExportColumns = new FunctionalCaseExportColumns();
|
||||||
|
// 表头自定义字段
|
||||||
|
List<TemplateCustomFieldDTO> headerCustomFields = getCustomFields(projectId);
|
||||||
|
functionalCaseExportColumns.initCustomColumns(headerCustomFields);
|
||||||
|
return functionalCaseExportColumns;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,7 @@ public class FunctionalCaseControllerTests extends BaseTest {
|
||||||
public static final String OPERATION_HISTORY_URL = "/functional/case/operation-history";
|
public static final String OPERATION_HISTORY_URL = "/functional/case/operation-history";
|
||||||
public static final String EXPORT_EXCEL_URL = "/functional/case/export/excel";
|
public static final String EXPORT_EXCEL_URL = "/functional/case/export/excel";
|
||||||
public static final String DOWNLOAD_XMIND_TEMPLATE_URL = "/functional/case/download/xmind/template/";
|
public static final String DOWNLOAD_XMIND_TEMPLATE_URL = "/functional/case/download/xmind/template/";
|
||||||
|
public static final String EXPORT_COLUMNS_URL = "/functional/case/export/columns/";
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private NotificationMapper notificationMapper;
|
private NotificationMapper notificationMapper;
|
||||||
|
@ -645,7 +646,7 @@ public class FunctionalCaseControllerTests extends BaseTest {
|
||||||
request.setAppend(true);
|
request.setAppend(true);
|
||||||
request.setTags(Arrays.asList("追加标签_1", "追加标签_2"));
|
request.setTags(Arrays.asList("追加标签_1", "追加标签_2"));
|
||||||
this.requestPostWithOkAndReturn(FUNCTIONAL_CASE_BATCH_EDIT_URL, request);
|
this.requestPostWithOkAndReturn(FUNCTIONAL_CASE_BATCH_EDIT_URL, request);
|
||||||
request.setTags(Arrays.asList("追加标签_1", "追加标签_2","追加标签_3","追加标签_4","追加标签_5","追加标签_6","追加标签_7","追加标签_8","追加标签_9","追加标签_10","追加标签_11"));
|
request.setTags(Arrays.asList("追加标签_1", "追加标签_2", "追加标签_3", "追加标签_4", "追加标签_5", "追加标签_6", "追加标签_7", "追加标签_8", "追加标签_9", "追加标签_10", "追加标签_11"));
|
||||||
this.requestPost(FUNCTIONAL_CASE_BATCH_EDIT_URL, request);
|
this.requestPost(FUNCTIONAL_CASE_BATCH_EDIT_URL, request);
|
||||||
request.setAppend(false);
|
request.setAppend(false);
|
||||||
request.setTags(Arrays.asList("覆盖标签1", "覆盖标签2"));
|
request.setTags(Arrays.asList("覆盖标签1", "覆盖标签2"));
|
||||||
|
@ -842,4 +843,10 @@ public class FunctionalCaseControllerTests extends BaseTest {
|
||||||
public void testDownloadXmindTemplate() throws Exception {
|
public void testDownloadXmindTemplate() throws Exception {
|
||||||
this.requestGetExcel(DOWNLOAD_XMIND_TEMPLATE_URL + DEFAULT_PROJECT_ID);
|
this.requestGetExcel(DOWNLOAD_XMIND_TEMPLATE_URL + DEFAULT_PROJECT_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(23)
|
||||||
|
public void getExportColumns() throws Exception {
|
||||||
|
this.requestGetExcel(EXPORT_COLUMNS_URL + DEFAULT_PROJECT_ID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue