diff --git a/backend/framework/sdk/src/main/resources/i18n/case_en_US.properties b/backend/framework/sdk/src/main/resources/i18n/case_en_US.properties index 3bf66ade03..75d6184b91 100644 --- a/backend/framework/sdk/src/main/resources/i18n/case_en_US.properties +++ b/backend/framework/sdk/src/main/resources/i18n/case_en_US.properties @@ -164,4 +164,4 @@ case_review.multiple=Multiple reviewers case_review.not.exist=Case review does not exist case_review_content.not.exist = Review comments cannot be empty case_review_history.system=System trigger - +case_review.viewFlag.not_blank=View flag cannot be empty diff --git a/backend/framework/sdk/src/main/resources/i18n/case_zh_CN.properties b/backend/framework/sdk/src/main/resources/i18n/case_zh_CN.properties index 36ae1a87a7..5d8027f8a1 100644 --- a/backend/framework/sdk/src/main/resources/i18n/case_zh_CN.properties +++ b/backend/framework/sdk/src/main/resources/i18n/case_zh_CN.properties @@ -163,4 +163,4 @@ case_review.multiple=多人评审 case_review.not.exist=用例评审不存在 case_review_content.not.exist = 评审意见不能为空 case_review_history.system=系统触发 - +case_review.viewFlag.not_blank=查看标识不能为空 diff --git a/backend/framework/sdk/src/main/resources/i18n/case_zh_TW.properties b/backend/framework/sdk/src/main/resources/i18n/case_zh_TW.properties index 3b4fdea922..ef28a1ea4a 100644 --- a/backend/framework/sdk/src/main/resources/i18n/case_zh_TW.properties +++ b/backend/framework/sdk/src/main/resources/i18n/case_zh_TW.properties @@ -164,4 +164,4 @@ case_review.multiple=多人評審 case_review.not.exist=用例評審不存在 case_review_content.not.exist = 評審意見不能為空 case_review_history.system=系統觸發 - +case_review.viewFlag.not_blank=查看標誌不能為空 diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java b/backend/services/case-management/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java index 83c37ac294..a8ddec145d 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java @@ -1,6 +1,7 @@ package io.metersphere.functional.controller; import io.metersphere.functional.domain.FunctionalCaseAttachment; +import io.metersphere.functional.request.AttachmentTransferRequest; import io.metersphere.functional.request.FunctionalCaseAssociationFileRequest; import io.metersphere.functional.request.FunctionalCaseDeleteFileRequest; import io.metersphere.functional.request.FunctionalCaseFileRequest; @@ -112,7 +113,7 @@ public class FunctionalCaseAttachmentController { @PostMapping("/transfer") @Operation(summary = "用例管理-功能用例-附件-文件转存") @RequiresPermissions(PermissionConstants.FUNCTIONAL_CASE_READ) - public String transfer(@Validated @RequestBody FunctionalCaseFileRequest request) { + public String transfer(@Validated @RequestBody AttachmentTransferRequest request) { byte[] fileByte = functionalCaseAttachmentService.getFileByte(request); FunctionalCaseAttachment attachment = functionalCaseAttachmentService.getAttachment(request); FileLogRecord fileLogRecord = FileLogRecord.builder() diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/dto/FunctionalCaseAttachmentDTO.java b/backend/services/case-management/src/main/java/io/metersphere/functional/dto/FunctionalCaseAttachmentDTO.java index d911720cff..f04704fee8 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/dto/FunctionalCaseAttachmentDTO.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/dto/FunctionalCaseAttachmentDTO.java @@ -15,11 +15,11 @@ public class FunctionalCaseAttachmentDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; - @Schema(description = "ID") + @Schema(description = "文件ID") private String id; - @Schema(description = "文件ID") - private String fileId; + @Schema(description = "关联ID") + private String associationId; @Schema(description = "文件名称") private String fileName; diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/AttachmentTransferRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/AttachmentTransferRequest.java new file mode 100644 index 0000000000..f6b19390d1 --- /dev/null +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/AttachmentTransferRequest.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * @author wx + */ +@Data +public class AttachmentTransferRequest extends FunctionalCaseFileRequest{ + + + @Schema(description = "转存的模块id",requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.module_id.not_blank}") + private String moduleId; +} diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/BaseReviewCaseBatchRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/BaseReviewCaseBatchRequest.java index 52b9553e68..e306cab02e 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/BaseReviewCaseBatchRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/BaseReviewCaseBatchRequest.java @@ -2,6 +2,7 @@ package io.metersphere.functional.request; import io.metersphere.system.dto.table.TableBatchProcessDTO; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -17,6 +18,7 @@ public class BaseReviewCaseBatchRequest extends TableBatchProcessDTO implements private static final long serialVersionUID = 1L; @Schema(description = "评审id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{case_review_user.review_id.not_blank}") private String reviewId; diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseAssociationFileRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseAssociationFileRequest.java index 23515d4e01..9392c95f48 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseAssociationFileRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseAssociationFileRequest.java @@ -1,6 +1,7 @@ package io.metersphere.functional.request; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -19,8 +20,10 @@ public class FunctionalCaseAssociationFileRequest implements Serializable { private List fileIds; @Schema(description = "用例id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case_comment.case_id.not_blank}") private String caseId; @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.project_id.not_blank}") private String projectId; } diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchEditRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchEditRequest.java index c459c32156..cac7d02c33 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchEditRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchEditRequest.java @@ -3,6 +3,7 @@ package io.metersphere.functional.request; import io.metersphere.functional.dto.BaseFunctionalCaseBatchDTO; import io.metersphere.functional.dto.CaseCustomFieldDTO; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.util.List; @@ -15,9 +16,10 @@ public class FunctionalCaseBatchEditRequest extends BaseFunctionalCaseBatchDTO { @Schema(description = "项目ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.project_id.not_blank}") private String projectId; - @Schema(description = "是否追加", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否追加") private boolean append; @Schema(description = "标签") diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchMoveRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchMoveRequest.java index 556a7bc524..82467b89f9 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchMoveRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchMoveRequest.java @@ -1,6 +1,7 @@ package io.metersphere.functional.request; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; /** @@ -10,5 +11,6 @@ import lombok.Data; public class FunctionalCaseBatchMoveRequest extends FunctionalCaseBatchRequest { @Schema(description = "模块ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.module_id.not_blank}") private String moduleId; } diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchRequest.java index add323a3d5..1e5910ec7b 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseBatchRequest.java @@ -2,6 +2,7 @@ package io.metersphere.functional.request; import io.metersphere.functional.dto.BaseFunctionalCaseBatchDTO; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; /** @@ -12,6 +13,7 @@ public class FunctionalCaseBatchRequest extends BaseFunctionalCaseBatchDTO { @Schema(description = "项目ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.project_id.not_blank}") private String projectId; @Schema(description = "删除列表版本/删除全部版本") diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseDeleteFileRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseDeleteFileRequest.java index e1b26eea4a..075b795740 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseDeleteFileRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseDeleteFileRequest.java @@ -1,6 +1,7 @@ package io.metersphere.functional.request; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -21,8 +22,10 @@ public class FunctionalCaseDeleteFileRequest implements Serializable { private Boolean local; @Schema(description = "用例id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case_comment.case_id.not_blank}") private String caseId; @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case.project_id.not_blank}") private String projectId; } diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseFileRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseFileRequest.java index 01e3dc1bc9..29b3f5f239 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseFileRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/FunctionalCaseFileRequest.java @@ -1,6 +1,7 @@ package io.metersphere.functional.request; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -16,18 +17,19 @@ public class FunctionalCaseFileRequest implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "项目id",requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{case_review.project_id.not_blank}") private String projectId; @Schema(description = "用例id",requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{case_review_functional_case.case_id.not_blank}") private String caseId; @Schema(description = "文件id",requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{functional_case_attachment.file_id.not_blank}") private String fileId; @Schema(description = "是否本地",requiredMode = Schema.RequiredMode.REQUIRED) private Boolean local; - @Schema(description = "转存的模块id",requiredMode = Schema.RequiredMode.REQUIRED) - private String moduleId; } diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/request/ReviewFunctionalCasePageRequest.java b/backend/services/case-management/src/main/java/io/metersphere/functional/request/ReviewFunctionalCasePageRequest.java index fadfe4f526..18010c69d2 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/request/ReviewFunctionalCasePageRequest.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/request/ReviewFunctionalCasePageRequest.java @@ -2,6 +2,7 @@ package io.metersphere.functional.request; import io.metersphere.system.dto.sdk.BasePageRequest; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -16,6 +17,7 @@ public class ReviewFunctionalCasePageRequest extends BasePageRequest implements private static final long serialVersionUID = 1L; @Schema(description = "评审id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "{case_review_user.review_id.not_blank}") private String reviewId; diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java b/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java index a258bb1f4c..cd5fbdaad1 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java @@ -18,9 +18,9 @@ import io.metersphere.project.service.FileService; import io.metersphere.sdk.constants.DefaultRepositoryDir; import io.metersphere.sdk.constants.StorageType; import io.metersphere.sdk.exception.MSException; +import io.metersphere.sdk.file.FileRequest; import io.metersphere.sdk.util.BeanUtils; import io.metersphere.sdk.util.FileAssociationSourceUtil; -import io.metersphere.sdk.file.FileRequest; import io.metersphere.system.log.constants.OperationLogModule; import io.metersphere.system.uid.IDGenerator; import jakarta.annotation.Resource; @@ -122,6 +122,8 @@ public class FunctionalCaseAttachmentService { List attachmentDTOs = new ArrayList<>(Lists.transform(caseAttachments, (functionalCaseAttachment) -> { FunctionalCaseAttachmentDTO attachmentDTO = new FunctionalCaseAttachmentDTO(); BeanUtils.copyBean(attachmentDTO, functionalCaseAttachment); + attachmentDTO.setId(functionalCaseAttachment.getFileId()); + attachmentDTO.setAssociationId(functionalCaseAttachment.getId()); return attachmentDTO; })); @@ -130,6 +132,8 @@ public class FunctionalCaseAttachmentService { List filesDTOs = new ArrayList<>(Lists.transform(files, (fileInfo) -> { FunctionalCaseAttachmentDTO attachmentDTO = new FunctionalCaseAttachmentDTO(); BeanUtils.copyBean(attachmentDTO, fileInfo); + attachmentDTO.setId(fileInfo.getFileId()); + attachmentDTO.setAssociationId(fileInfo.getId()); return attachmentDTO; })); attachmentDTOs.addAll(filesDTOs); @@ -145,7 +149,7 @@ public class FunctionalCaseAttachmentService { */ public void deleteCaseAttachment(List deleteFileMetaIds, String caseId, String projectId) { FunctionalCaseAttachmentExample example = new FunctionalCaseAttachmentExample(); - example.createCriteria().andIdIn(deleteFileMetaIds).andCaseIdEqualTo(caseId).andLocalEqualTo(true); + example.createCriteria().andFileIdIn(deleteFileMetaIds).andCaseIdEqualTo(caseId).andLocalEqualTo(true); List delAttachment = functionalCaseAttachmentMapper.selectByExample(example); example.clear(); example.createCriteria().andIdIn(deleteFileMetaIds); @@ -217,13 +221,14 @@ public class FunctionalCaseAttachmentService { /** * 取消关联 删除文件库文件和用例关联关系 * + * @param sourceId sourceId * @param unLinkFilesIds unLinkFilesIds * @param logUrl logUrl * @param userId userId * @param projectId projectId */ - public void unAssociation(List unLinkFilesIds, String logUrl, String userId, String projectId) { - fileAssociationService.deleteByIds(unLinkFilesIds, createFileLogRecord(logUrl, userId, projectId)); + public void unAssociation(String sourceId, List unLinkFilesIds, String logUrl, String userId, String projectId) { + fileAssociationService.deleteBySourceIdAndFileIds(sourceId, unLinkFilesIds, createFileLogRecord(logUrl, userId, projectId)); } @@ -234,7 +239,7 @@ public class FunctionalCaseAttachmentService { */ public ResponseEntity downloadPreviewImgById(FunctionalCaseFileRequest request) { FunctionalCaseAttachmentExample example = new FunctionalCaseAttachmentExample(); - example.createCriteria().andIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); + example.createCriteria().andFileIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); List caseAttachments = functionalCaseAttachmentMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(caseAttachments)) { FunctionalCaseAttachment attachment = caseAttachments.get(0); @@ -258,7 +263,7 @@ public class FunctionalCaseAttachmentService { public byte[] getFileByte(FunctionalCaseFileRequest request) { FunctionalCaseAttachmentExample example = new FunctionalCaseAttachmentExample(); - example.createCriteria().andIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); + example.createCriteria().andFileIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); List caseAttachments = functionalCaseAttachmentMapper.selectByExample(example); byte[] bytes = null; if (CollectionUtils.isNotEmpty(caseAttachments)) { @@ -278,7 +283,7 @@ public class FunctionalCaseAttachmentService { public FunctionalCaseAttachment getAttachment(FunctionalCaseFileRequest request) { FunctionalCaseAttachmentExample example = new FunctionalCaseAttachmentExample(); - example.createCriteria().andIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); + example.createCriteria().andFileIdEqualTo(request.getFileId()).andCaseIdEqualTo(request.getCaseId()); List caseAttachments = functionalCaseAttachmentMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(caseAttachments)) { return caseAttachments.get(0); @@ -307,7 +312,7 @@ public class FunctionalCaseAttachmentService { if (BooleanUtils.isTrue(request.getLocal())) { this.deleteCaseAttachment(Arrays.asList(request.getId()), request.getCaseId(), userId); } else { - this.unAssociation(Arrays.asList(request.getId()), DELETED_FILE, userId, request.getProjectId()); + this.unAssociation(request.getCaseId(), Arrays.asList(request.getId()), DELETED_FILE, userId, request.getProjectId()); } } } \ No newline at end of file diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java b/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java index d5320632bc..d2773a8d43 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java @@ -292,7 +292,7 @@ public class FunctionalCaseService { //处理取消关联文件id if (CollectionUtils.isNotEmpty(request.getUnLinkFilesIds())) { - functionalCaseAttachmentService.unAssociation(request.getUnLinkFilesIds(), UPDATE_FUNCTIONAL_CASE_FILE_LOG_URL, userId, request.getProjectId()); + functionalCaseAttachmentService.unAssociation(request.getId(), request.getUnLinkFilesIds(), UPDATE_FUNCTIONAL_CASE_FILE_LOG_URL, userId, request.getProjectId()); } //上传新文件 diff --git a/backend/services/case-management/src/test/java/io/metersphere/functional/controller/FunctionalCaseAttachmentControllerTests.java b/backend/services/case-management/src/test/java/io/metersphere/functional/controller/FunctionalCaseAttachmentControllerTests.java index 3da495f409..72878610a1 100644 --- a/backend/services/case-management/src/test/java/io/metersphere/functional/controller/FunctionalCaseAttachmentControllerTests.java +++ b/backend/services/case-management/src/test/java/io/metersphere/functional/controller/FunctionalCaseAttachmentControllerTests.java @@ -1,9 +1,11 @@ package io.metersphere.functional.controller; import io.metersphere.functional.dto.FunctionalCaseAttachmentDTO; +import io.metersphere.functional.request.AttachmentTransferRequest; import io.metersphere.functional.request.FunctionalCaseAssociationFileRequest; import io.metersphere.functional.request.FunctionalCaseDeleteFileRequest; import io.metersphere.functional.request.FunctionalCaseFileRequest; +import io.metersphere.functional.service.FunctionalCaseAttachmentService; import io.metersphere.functional.utils.FileBaseUtils; import io.metersphere.project.dto.filemanagement.request.FileMetadataTableRequest; import io.metersphere.project.dto.filemanagement.request.FileUploadRequest; @@ -12,10 +14,10 @@ import io.metersphere.project.service.FileService; import io.metersphere.sdk.constants.DefaultRepositoryDir; import io.metersphere.sdk.constants.StorageType; import io.metersphere.sdk.exception.MSException; +import io.metersphere.sdk.file.FileRequest; import io.metersphere.sdk.util.JSON; import io.metersphere.system.base.BaseTest; import io.metersphere.system.controller.handler.ResultHolder; -import io.metersphere.sdk.file.FileRequest; import jakarta.annotation.Resource; import org.junit.jupiter.api.*; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; @@ -29,6 +31,7 @@ import org.springframework.util.LinkedMultiValueMap; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.List; import java.util.Objects; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; @@ -46,6 +49,8 @@ public class FunctionalCaseAttachmentControllerTests extends BaseTest { @Resource private FileMetadataService fileMetadataService; + @Resource + private FunctionalCaseAttachmentService functionalCaseAttachmentService; public static final String ATTACHMENT_PAGE_URL = "/attachment/page"; public static final String ATTACHMENT_PREVIEW_URL = "/attachment/preview"; @@ -80,7 +85,7 @@ public class FunctionalCaseAttachmentControllerTests extends BaseTest { FunctionalCaseFileRequest request = new FunctionalCaseFileRequest(); request.setProjectId("WX_TEST_PROJECT_ID"); request.setLocal(true); - request.setFileId("TEST_ATTACHMENT_ID"); + request.setFileId("TEST_ATTACHMENT_FILE_ID"); request.setCaseId("TEST_FUNCTIONAL_CASE_ATTACHMENT_ID"); uploadLocalFile(); this.downloadFile(ATTACHMENT_PREVIEW_URL, request); @@ -138,7 +143,7 @@ public class FunctionalCaseAttachmentControllerTests extends BaseTest { //覆盖controller FunctionalCaseFileRequest request = new FunctionalCaseFileRequest(); request.setProjectId("WX_TEST_PROJECT_ID"); - request.setFileId("TEST_ATTACHMENT_ID"); + request.setFileId("TEST_ATTACHMENT_FILE_ID"); request.setCaseId("TEST_FUNCTIONAL_CASE_ATTACHMENT_ID"); request.setLocal(true); this.downloadFile(ATTACHMENT_DOWNLOAD_URL, request); @@ -166,14 +171,16 @@ public class FunctionalCaseAttachmentControllerTests extends BaseTest { @Order(6) public void testAttachmentTransfer() throws Exception { //覆盖controller - FunctionalCaseFileRequest request = new FunctionalCaseFileRequest(); + AttachmentTransferRequest request = new AttachmentTransferRequest(); request.setLocal(false); request.setProjectId(DEFAULT_PROJECT_ID); request.setFileId(FILE_ID); request.setCaseId("TEST_FUNCTIONAL_CASE_ATTACHMENT_ID"); + request.setModuleId("root"); this.requestPost(ATTACHMENT_TRANSFER_URL, request); - request.setFileId("TEST_ATTACHMENT_ID"); + request.setFileId("TEST_ATTACHMENT_FILE_ID"); this.requestPost(ATTACHMENT_TRANSFER_URL, request); + functionalCaseAttachmentService.deleteCaseAttachment(List.of("TEST_ATTACHMENT_FILE_ID"), "TEST_FUNCTIONAL_CASE_ATTACHMENT_ID", "WX_TEST_PROJECT_ID"); } @@ -211,7 +218,7 @@ public class FunctionalCaseAttachmentControllerTests extends BaseTest { request.setLocal(false); this.requestPost(DELETE_FILE_URL, request); - attachmentDTO.setId("TEST_ATTACHMENT_ID"); + attachmentDTO.setId("TEST_ATTACHMENT_FILE_ID"); attachmentDTO.setLocal(true); this.requestPost(DELETE_FILE_URL, request); }