fix(用例评审): 修正评审后的功能用例的模块统计接口数量统计
This commit is contained in:
parent
40a4e3b72d
commit
9670672158
|
@ -39,7 +39,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
|
||||
|
||||
@GetMapping("/get-ids/{reviewId}")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-获取已关联用例id集合(关联用例弹窗前调用)")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-获取已关联用例id集合(关联用例弹窗前调用)")
|
||||
@RequiresPermissions(PermissionConstants.CASE_REVIEW_RELEVANCE)
|
||||
@CheckOwner(resourceId = "#reviewId", resourceType = "case_review")
|
||||
public List<String> getCaseIds(@PathVariable String reviewId) {
|
||||
|
@ -48,7 +48,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
|
||||
|
||||
@PostMapping("/page")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-已关联用例列表")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-已关联用例列表")
|
||||
public Pager<List<ReviewFunctionalCaseDTO>> page(@Validated @RequestBody ReviewFunctionalCasePageRequest request) {
|
||||
String userId = StringUtils.EMPTY;
|
||||
if (request.getViewFlag()) {
|
||||
|
@ -60,7 +60,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
|
||||
|
||||
@GetMapping("/tree/{projectId}/{reviewId}")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-已关联用例列表模块树")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-已关联用例列表模块树")
|
||||
@RequiresPermissions(PermissionConstants.CASE_REVIEW_READ)
|
||||
@CheckOwner(resourceId = "#projectId", resourceType = "project")
|
||||
public List<BaseTreeNode> getTree(@PathVariable String projectId, @PathVariable String reviewId) {
|
||||
|
@ -69,19 +69,20 @@ public class CaseReviewFunctionalCaseController {
|
|||
|
||||
|
||||
@PostMapping("/module/count")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-已关联用例统计模块数量")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-已关联用例统计模块数量")
|
||||
@RequiresPermissions(PermissionConstants.FUNCTIONAL_CASE_READ)
|
||||
@CheckOwner(resourceId = "#request.getProjectId()", resourceType = "project")
|
||||
public Map<String, Long> moduleCount(@Validated @RequestBody ReviewFunctionalCasePageRequest request) {
|
||||
return caseReviewFunctionalCaseService.moduleCount(request, false);
|
||||
String userId = StringUtils.EMPTY;
|
||||
if (request.getViewFlag()) {
|
||||
userId = SessionUtils.getUserId();
|
||||
}
|
||||
return caseReviewFunctionalCaseService.moduleCount(request, false, userId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/batch/disassociate")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-列表-批量取消关联用例")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-列表-批量取消关联用例")
|
||||
@Log(type = OperationLogType.DISASSOCIATE, expression = "#msClass.batchDisassociateCaseLog(#request)", msClass = CaseReviewLogService.class)
|
||||
@CheckOwner(resourceId = "#request.getReviewId()", resourceType = "case_review")
|
||||
public void batchDisassociate(@Validated @RequestBody BaseReviewCaseBatchRequest request) {
|
||||
|
@ -89,7 +90,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
}
|
||||
|
||||
@PostMapping("/edit/pos")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-列表-拖拽排序")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-列表-拖拽排序")
|
||||
@RequiresPermissions(PermissionConstants.CASE_REVIEW_READ_UPDATE)
|
||||
@CheckOwner(resourceId = "#request.getProjectId()", resourceType = "project")
|
||||
public void editPos(@Validated @RequestBody CaseReviewFunctionalCasePosRequest request) {
|
||||
|
@ -97,7 +98,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
}
|
||||
|
||||
@PostMapping("/batch/review")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-列表-批量评审")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-列表-批量评审")
|
||||
@RequiresPermissions(PermissionConstants.CASE_REVIEW_REVIEW)
|
||||
@CheckOwner(resourceId = "#request.getReviewId()", resourceType = "case_review")
|
||||
public void batchReview(@Validated @RequestBody BatchReviewFunctionalCaseRequest request) {
|
||||
|
@ -105,7 +106,7 @@ public class CaseReviewFunctionalCaseController {
|
|||
}
|
||||
|
||||
@PostMapping("/batch/edit/reviewers")
|
||||
@Operation(summary = "用例管理-功能用例-评审列表-评审详情-列表-批量修改评审人")
|
||||
@Operation(summary = "用例管理-用例评审-评审列表-评审详情-列表-批量修改评审人")
|
||||
@CheckOwner(resourceId = "#request.getReviewId()", resourceType = "case_review")
|
||||
public void batchEditReviewUser(@Validated @RequestBody BatchEditReviewerRequest request) {
|
||||
caseReviewFunctionalCaseService.batchEditReviewUser(request, SessionUtils.getUserId());
|
||||
|
|
|
@ -22,6 +22,6 @@ public class FunctionalCaseCommentDTO extends FunctionalCaseComment {
|
|||
private String userLogo;
|
||||
|
||||
@Schema(description = "该条评论下的所有回复数据")
|
||||
private List<FunctionalCaseCommentDTO> replies;
|
||||
private List<FunctionalCaseCommentDTO> childComments;
|
||||
|
||||
}
|
||||
|
|
|
@ -38,11 +38,11 @@ public interface ExtCaseReviewFunctionalCaseMapper {
|
|||
|
||||
List<CaseReviewFunctionalCase> getListIncludes(@Param("reviewId") String reviewId, @Param("caseIds") List<String> caseIds, @Param("deleted") boolean deleted);
|
||||
|
||||
List<CaseReviewFunctionalCase> getListExcludes(@Param("reviewIds")List<String> reviewIds, @Param("caseIds") List<String> caseIds, @Param("deleted") boolean deleted);
|
||||
List<CaseReviewFunctionalCase> getListExcludes(@Param("reviewIds") List<String> reviewIds, @Param("caseIds") List<String> caseIds, @Param("deleted") boolean deleted);
|
||||
|
||||
List<CaseReviewFunctionalCase> getCaseIdsByIds(@Param("ids") List<String> ids);
|
||||
|
||||
List<ModuleCountDTO> countModuleIdByRequest(ReviewFunctionalCasePageRequest request, boolean deleted);
|
||||
List<ModuleCountDTO> countModuleIdByRequest(@Param("request") ReviewFunctionalCasePageRequest request, @Param("deleted") boolean deleted, @Param("userId") String userId);
|
||||
|
||||
long caseCount(ReviewFunctionalCasePageRequest request, boolean deleted);
|
||||
long caseCount(@Param("request") ReviewFunctionalCasePageRequest request, @Param("deleted") boolean deleted, @Param("userId") String userId);
|
||||
}
|
||||
|
|
|
@ -402,6 +402,9 @@
|
|||
WHERE crfc.review_id = #{request.reviewId}
|
||||
AND functional_case.deleted = #{deleted}
|
||||
AND functional_case.project_id = #{request.projectId}
|
||||
<if test="userId != null and userId != ''">
|
||||
AND crfc.case_id in (select case_id from case_review_functional_case_user crfcu where crfcu.review_id = #{request.reviewId} and crfcu.user_id = #{userId})
|
||||
</if>
|
||||
<choose>
|
||||
<when test='request.searchMode == "AND"'>
|
||||
AND <include refid="queryWhereCondition"/>
|
||||
|
@ -422,6 +425,9 @@
|
|||
WHERE crfc.review_id = #{request.reviewId}
|
||||
AND functional_case.deleted = #{deleted}
|
||||
AND functional_case.project_id = #{request.projectId}
|
||||
<if test="userId != null and userId != ''">
|
||||
AND crfc.case_id in (select case_id from case_review_functional_case_user crfcu where crfcu.review_id = #{request.reviewId} and crfcu.user_id = #{userId})
|
||||
</if>
|
||||
<choose>
|
||||
<when test='request.searchMode == "AND"'>
|
||||
AND <include refid="queryWhereCondition"/>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<foreach collection="reviewIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
group by cu.user_id
|
||||
</select>
|
||||
|
||||
|
||||
|
|
|
@ -111,9 +111,9 @@ public class CaseReviewCaseProvider implements BaseCaseProvider {
|
|||
Object caseIds = paramMap.get(CaseEvent.Param.CASE_IDS);
|
||||
List<String> caseIdList = JSON.parseArray(JSON.toJSONString(caseIds), String.class);
|
||||
//获取与选中case无关的其他case
|
||||
List<CaseReviewFunctionalCase> caseReviewFunctionalCases = extCaseReviewFunctionalCaseMapper.getListIncludes(reviewId, caseIdList, false);
|
||||
List<CaseReviewFunctionalCase> caseReviewFunctionalCases = extCaseReviewFunctionalCaseMapper.getListExcludes(List.of(reviewId), caseIdList, false);
|
||||
List<CaseReviewFunctionalCase> passList = caseReviewFunctionalCases.stream().filter(t -> StringUtils.equalsIgnoreCase(t.getStatus(), FunctionalCaseReviewStatus.PASS.toString())).toList();
|
||||
int caseCount = caseReviewFunctionalCases.size() - caseIdList.size();
|
||||
int caseCount = caseReviewFunctionalCases.size();
|
||||
int passNumber = passList.size();
|
||||
List<CaseReviewFunctionalCase> unCompletedCaseList = getUnCompletedCaseList(caseReviewFunctionalCases, new ArrayList<>());
|
||||
updateCaseReview(reviewId, caseReview.getCaseCount() - caseCount, passNumber, unCompletedCaseList.size(), paramMap.get(CaseEvent.Param.USER_ID).toString());
|
||||
|
|
|
@ -536,13 +536,13 @@ public class CaseReviewFunctionalCaseService extends ModuleTreeService {
|
|||
return super.buildTreeAndCountResource(functionalModuleList, true, Translator.get("default.module"));
|
||||
}
|
||||
|
||||
public Map<String, Long> moduleCount(ReviewFunctionalCasePageRequest request, boolean deleted) {
|
||||
public Map<String, Long> moduleCount(ReviewFunctionalCasePageRequest request, boolean deleted, String userId) {
|
||||
//查出每个模块节点下的资源数量。 不需要按照模块进行筛选
|
||||
request.setModuleIds(null);
|
||||
List<ModuleCountDTO> moduleCountDTOList = extCaseReviewFunctionalCaseMapper.countModuleIdByRequest(request, deleted);
|
||||
List<ModuleCountDTO> moduleCountDTOList = extCaseReviewFunctionalCaseMapper.countModuleIdByRequest(request, deleted, userId);
|
||||
Map<String, Long> moduleCountMap = getModuleCountMap(request.getProjectId(), request.getReviewId(), moduleCountDTOList);
|
||||
//查出全部用例数量
|
||||
long allCount = extCaseReviewFunctionalCaseMapper.caseCount(request, deleted);
|
||||
long allCount = extCaseReviewFunctionalCaseMapper.caseCount(request, deleted, userId);
|
||||
moduleCountMap.put(CASE_MODULE_COUNT_ALL, allCount);
|
||||
return moduleCountMap;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,8 @@ import io.metersphere.sdk.exception.MSException;
|
|||
import io.metersphere.sdk.util.BeanUtils;
|
||||
import io.metersphere.sdk.util.Translator;
|
||||
import io.metersphere.system.domain.User;
|
||||
import io.metersphere.system.domain.UserExample;
|
||||
import io.metersphere.system.dto.CommentUserInfo;
|
||||
import io.metersphere.system.mapper.BaseUserMapper;
|
||||
import io.metersphere.system.mapper.UserMapper;
|
||||
import io.metersphere.system.notice.NoticeModel;
|
||||
import io.metersphere.system.notice.constants.NoticeConstants;
|
||||
|
@ -52,6 +53,9 @@ public class FunctionalCaseCommentService {
|
|||
@Resource
|
||||
private NoticeSendService noticeSendService;
|
||||
|
||||
@Resource
|
||||
private BaseUserMapper baseUserMapper;
|
||||
|
||||
/**
|
||||
* 新增评论
|
||||
*
|
||||
|
@ -225,7 +229,7 @@ public class FunctionalCaseCommentService {
|
|||
if (CollectionUtils.isEmpty(userIds)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
Map<String, User> userMap = getUserMap(userIds);
|
||||
Map<String, CommentUserInfo> userMap = getUserMap(userIds);
|
||||
return buildData(functionalCaseComments, userMap);
|
||||
}
|
||||
|
||||
|
@ -234,14 +238,16 @@ public class FunctionalCaseCommentService {
|
|||
* @param functionalCaseComments 查出来的所有当前用例的评论信息
|
||||
* @param userMap 用户信息
|
||||
*/
|
||||
private List<FunctionalCaseCommentDTO> buildData(List<FunctionalCaseComment> functionalCaseComments, Map<String, User> userMap) {
|
||||
private List<FunctionalCaseCommentDTO> buildData(List<FunctionalCaseComment> functionalCaseComments, Map<String, CommentUserInfo> userMap) {
|
||||
List<FunctionalCaseCommentDTO>list = new ArrayList<>();
|
||||
for (FunctionalCaseComment functionalCaseComment : functionalCaseComments) {
|
||||
FunctionalCaseCommentDTO functionalCaseCommentDTO = new FunctionalCaseCommentDTO();
|
||||
BeanUtils.copyBean(functionalCaseCommentDTO,functionalCaseComment);
|
||||
functionalCaseCommentDTO.setUserName(userMap.get(functionalCaseComment.getCreateUser()).getName());
|
||||
functionalCaseCommentDTO.setUserLogo(userMap.get(functionalCaseComment.getCreateUser()).getAvatar());
|
||||
if (StringUtils.isNotBlank(functionalCaseComment.getReplyUser())) {
|
||||
functionalCaseCommentDTO.setReplyUserName(userMap.get(functionalCaseComment.getReplyUser()).getName());
|
||||
functionalCaseCommentDTO.setReplyUserLogo(userMap.get(functionalCaseComment.getReplyUser()).getAvatar());
|
||||
}
|
||||
list.add(functionalCaseCommentDTO);
|
||||
}
|
||||
|
@ -251,7 +257,7 @@ public class FunctionalCaseCommentService {
|
|||
Map<String, List<FunctionalCaseCommentDTO>> commentMap = replyList.stream().collect(Collectors.groupingBy(FunctionalCaseComment::getParentId));
|
||||
for (FunctionalCaseCommentDTO functionalCaseComment : rootList) {
|
||||
List<FunctionalCaseCommentDTO> replyComments = commentMap.get(functionalCaseComment.getId());
|
||||
functionalCaseComment.setReplies(replyComments);
|
||||
functionalCaseComment.setChildComments(replyComments);
|
||||
}
|
||||
return rootList;
|
||||
}
|
||||
|
@ -261,11 +267,9 @@ public class FunctionalCaseCommentService {
|
|||
* @param userIds userIds
|
||||
* @return Map<String, User>
|
||||
*/
|
||||
private Map<String, User> getUserMap(List<String> userIds) {
|
||||
UserExample userExample = new UserExample();
|
||||
userExample.createCriteria().andIdIn(userIds);
|
||||
List<User> users = userMapper.selectByExample(userExample);
|
||||
return users.stream().collect(Collectors.toMap(User::getId, item -> item));
|
||||
private Map<String, CommentUserInfo> getUserMap(List<String> userIds) {
|
||||
List<CommentUserInfo> commentUserInfos = baseUserMapper.getCommentUserInfoByIds(userIds);
|
||||
return commentUserInfos.stream().collect(Collectors.toMap(User::getId, item -> item));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -135,9 +135,25 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
Assertions.assertTrue(moduleCount.containsKey("all"));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
public void emptyDataTest() throws Exception {
|
||||
//空数据下,检查模块树
|
||||
List<BaseTreeNode> treeNodes = this.getCaseReviewModuleTreeNode("wx_test_project","wx_review_id_1");
|
||||
//检查有没有默认节点
|
||||
boolean hasNode = false;
|
||||
for (BaseTreeNode baseTreeNode : treeNodes) {
|
||||
if (org.testcontainers.shaded.org.apache.commons.lang3.StringUtils.equals(baseTreeNode.getId(), ModuleConstants.DEFAULT_NODE_ID)) {
|
||||
hasNode = true;
|
||||
}
|
||||
Assertions.assertNotNull(baseTreeNode.getParentId());
|
||||
}
|
||||
Assertions.assertTrue(hasNode);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
public void testBatchDisassociate() throws Exception {
|
||||
BaseReviewCaseBatchRequest request = new BaseReviewCaseBatchRequest();
|
||||
request.setReviewId("wx_review_id_1");
|
||||
|
@ -164,7 +180,7 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
@Order(6)
|
||||
public void testCaseReviewAddCase() throws Exception {
|
||||
//新增
|
||||
FunctionalCaseAddRequest request = creatFunctionalCase();
|
||||
|
@ -181,7 +197,7 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Order(6)
|
||||
@Order(7)
|
||||
public void testPos() throws Exception {
|
||||
List<CaseReviewFunctionalCase> caseReviewList = getCaseReviewFunctionalCase("wx_review_id_1");
|
||||
CaseReviewFunctionalCase caseReviews = caseReviewList.get(0);
|
||||
|
@ -215,7 +231,7 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
|
||||
|
||||
@Test
|
||||
@Order(7)
|
||||
@Order(8)
|
||||
public void testBatchReview() throws Exception {
|
||||
List<CaseReviewFunctionalCase> caseReviewList = getCaseReviewFunctionalCase("wx_review_id_1");
|
||||
List<CaseReviewFunctionalCase> list = caseReviewList.stream().filter(t -> StringUtils.equalsIgnoreCase(t.getCreateUser(), "admin")).toList();
|
||||
|
@ -269,7 +285,7 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Order(8)
|
||||
@Order(9)
|
||||
public void testBatchReviewFalse() throws Exception {
|
||||
BatchReviewFunctionalCaseRequest request = new BatchReviewFunctionalCaseRequest();
|
||||
request.setReviewId("wx_review_id_1");
|
||||
|
@ -301,7 +317,7 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
|
||||
|
||||
@Test
|
||||
@Order(9)
|
||||
@Order(10)
|
||||
public void testBatchEditReviewers() throws Exception {
|
||||
BatchEditReviewerRequest request = new BatchEditReviewerRequest();
|
||||
//更新评审人
|
||||
|
@ -332,23 +348,6 @@ public class CaseReviewFunctionalCaseControllerTests extends BaseTest {
|
|||
this.requestPostWithOkAndReturn(BATCH_EDIT_REVIEWERS, request);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
@Order(10)
|
||||
public void emptyDataTest() throws Exception {
|
||||
//空数据下,检查模块树
|
||||
List<BaseTreeNode> treeNodes = this.getCaseReviewModuleTreeNode("wx_test_project","wx_review_id_1");
|
||||
//检查有没有默认节点
|
||||
boolean hasNode = false;
|
||||
for (BaseTreeNode baseTreeNode : treeNodes) {
|
||||
if (org.testcontainers.shaded.org.apache.commons.lang3.StringUtils.equals(baseTreeNode.getId(), ModuleConstants.DEFAULT_NODE_ID)) {
|
||||
hasNode = true;
|
||||
}
|
||||
Assertions.assertNotNull(baseTreeNode.getParentId());
|
||||
}
|
||||
Assertions.assertTrue(hasNode);
|
||||
}
|
||||
|
||||
private List<BaseTreeNode> getCaseReviewModuleTreeNode(String projectId, String reviewId) throws Exception {
|
||||
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get(URL_MODULE_TREE+"/"+projectId+"/"+reviewId).header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
|
|
|
@ -5,28 +5,28 @@ INSERT INTO file_association(id, source_type, source_id, file_id, file_ref_id, f
|
|||
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID', 1, 'TEST_MODULE_ID', '100001100001', '100001', '测试', 'UN_REVIEWED', NULL, 'STEP', 0, 'v1.0.0', 'v1.0.0', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID', 1, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', '测试', 'UN_REVIEWED', NULL, 'STEP', 0, 'v1.0.0', 'v1.0.0', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_1', 2, 'TEST_MODULE_ID', '100001100001', '100001', '测试多版本', 'UN_REVIEWED', '["测试标签_1"]', 'STEP', 5000, 'v1.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_1', 2, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', '测试多版本', 'UN_REVIEWED', '["测试标签_1"]', 'STEP', 5000, 'v1.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_2', 3, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 15000, 'v2.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_2', 3, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 15000, 'v2.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_3', 3, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 25000, 'v3.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_3', 3, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 25000, 'v3.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_4', 4, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 40000, 'v3.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_4', 4, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 40000, 'v3.0.0', 'TEST_REF_ID', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_5', 5, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 45000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_5', 5, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 45000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_6', 6, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 55000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_6', 6, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_测试多版本', 'UN_REVIEWED', NULL, 'STEP', 55000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_7', 7, 'TEST_MODULE_ID', '100001100001', '100001', 'copy_long_name_11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111', 'UN_REVIEWED', NULL, 'STEP', 0, 'v3.0.0', 'TEST_REF_ID_2', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('TEST_FUNCTIONAL_CASE_ID_7', 7, 'TEST_MODULE_ID_GYQ', '100001100001', '100001', 'copy_long_name_11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111', 'UN_REVIEWED', NULL, 'STEP', 0, 'v3.0.0', 'TEST_REF_ID_2', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case_blob(id, steps, text_description, expected_result, prerequisite, description) VALUES ('TEST_FUNCTIONAL_CASE_ID', 'STEP', '1111', '', '', 'TEST');
|
||||
INSERT INTO functional_case_blob(id, steps, text_description, expected_result, prerequisite, description) VALUES ('TEST_FUNCTIONAL_CASE_ID_1', 'STEP', '1111', '', '', '1111');
|
||||
|
@ -47,7 +47,8 @@ INSERT INTO functional_case_attachment(id, case_id, file_id, file_name, size, lo
|
|||
INSERT INTO functional_case_attachment(id, case_id, file_id, file_name, size, local, create_user, create_time) VALUES ('TEST_CASE_ATTACHMENT_ID_1', 'TEST_FUNCTIONAL_CASE_ID', 'relate_file_meta_id_1', '测试1', 1, b'0', 'admin', 1698058347559);
|
||||
INSERT INTO functional_case_attachment(id, case_id, file_id, file_name, size, local, create_user, create_time) VALUES ('TEST_CASE_ATTACHMENT_ID_2', 'TEST_FUNCTIONAL_CASE_ID', 'delete_file_meta_id_1', '测试删除', 1, b'1', 'admin', 1698058347559);
|
||||
|
||||
INSERT INTO functional_case_module(id, project_id, name, parent_id, pos, create_time, update_time, create_user, update_user) VALUES ('TEST_MODULE_ID', '100001100001', '测试所属模块', 'NONE', 0, 1669174143999, 1669174143999, 'admin', 'admin');
|
||||
INSERT INTO functional_case_module(id, project_id, name, parent_id, pos, create_time, update_time, create_user, update_user) VALUES ('TEST_MODULE_ID_GYQ', '100001100001', '测试所属模块', 'NONE', 0, 1669174143999, 1669174143999, 'admin', 'admin');
|
||||
|
||||
|
||||
INSERT INTO custom_field(id, name, scene, type, remark, internal, scope_type, create_time, update_time, create_user, ref_id, enable_option_key, scope_id) VALUES ('custom_field_id_1', 'functional_priority', 'FUNCTIONAL', 'SELECT', '', b'1', 'ORGANIZATION', 1698983187000, 1698983187000, 'admin', NULL, b'0', '100001');
|
||||
INSERT INTO custom_field(id, name, scene, type, remark, internal, scope_type, create_time, update_time, create_user, ref_id, enable_option_key, scope_id) VALUES ('custom_field_id_2', '测试1', 'FUNCTIONAL', 'SELECT', '', b'0', 'ORGANIZATION', 1698983187000, 1698983187000, 'admin', NULL, b'0', '100001');
|
||||
|
@ -57,7 +58,7 @@ INSERT INTO custom_field(id, name, scene, type, remark, internal, scope_type, cr
|
|||
|
||||
|
||||
INSERT INTO functional_case(id, num, module_id, project_id, template_id, name, review_status, tags, case_edit_type, pos, version_id, ref_id, last_execute_result, deleted, public_case, latest, create_user, update_user, delete_user, create_time, update_time, delete_time)
|
||||
VALUES ('WX_TEST_FUNCTIONAL_CASE_ID', 6, 'TEST_MODULE_ID', 'WX_PROJECT_ID', '100001', '测试重新提审', 'UN_REVIEWED', NULL, 'STEP', 55000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
VALUES ('WX_TEST_FUNCTIONAL_CASE_ID', 6, 'TEST_MODULE_ID_GYQ', 'WX_PROJECT_ID', '100001', '测试重新提审', 'UN_REVIEWED', NULL, 'STEP', 55000, 'v3.0.0', 'TEST_REF_ID_1', 'UN_EXECUTED', b'0', b'0', b'1', 'admin', 'admin', '', 1698058347559, 1698058347559, NULL);
|
||||
|
||||
INSERT INTO functional_case_blob(id, steps, text_description, expected_result, prerequisite, description) VALUES ('WX_TEST_FUNCTIONAL_CASE_ID', 'STEP', '1111', '', '', 'TEST');
|
||||
|
||||
|
@ -66,6 +67,6 @@ INSERT INTO project_application(project_id, type, type_value) VALUES ('WX_PROJEC
|
|||
INSERT INTO case_review_functional_case(id, review_id, case_id, status, create_time, update_time, create_user, pos) VALUES ('wx_case_review_id', 'wx_review_id', 'WX_TEST_FUNCTIONAL_CASE_ID', 'PASS', 1700816738199, 1700816738199, 'admin', 0);
|
||||
|
||||
INSERT INTO case_review(id, num, name, module_id, project_id, status, review_pass_rule, pos, start_time, end_time, case_count, pass_rate, tags, description, create_time, create_user, update_time, update_user)
|
||||
VALUES ('wx_review_id',10006,'测试重新提审', 'test_module_one', 'TEST_MODULE_ID', 'COMPLETED', 'SINGLE', 001, null, null, 1,100.00,null,null,1698058347559,'admin',1698058347559,'admin');
|
||||
VALUES ('wx_review_id',10006,'测试重新提审', 'test_module_one', 'TEST_MODULE_ID_GYQ', 'COMPLETED', 'SINGLE', 001, null, null, 1,100.00,null,null,1698058347559,'admin',1698058347559,'admin');
|
||||
|
||||
|
||||
|
|
|
@ -67,7 +67,9 @@ VALUES ('wx_case_id_1', 'wx_review_id_1', 'admin'),
|
|||
|
||||
|
||||
|
||||
INSERT INTO functional_case_module(id, project_id, name, parent_id, pos, create_time, update_time, create_user, update_user) VALUES ('wx_module_1', 'wx_test_project', '测试所属模块', 'NONE', 0, 1669174143999, 1669174143999, 'admin', 'admin');
|
||||
INSERT INTO case_review_module(id, project_id, name, parent_id, pos, create_time, update_time, create_user, update_user) VALUES ('wx_module_1', 'wx_test_project', '测试所属模块', 'NONE', 0, 1669174143999, 1669174143999, 'admin', 'admin');
|
||||
|
||||
INSERT INTO functional_case_module(id, project_id, name, parent_id, pos, create_time, update_time, create_user, update_user) VALUES ('TEST_MODULE_ID', 'wx_test_project', '测试所属模块', 'NONE', 0, 1669174143999, 1669174143999, 'admin', 'admin');
|
||||
|
||||
|
||||
INSERT INTO case_review_history(id, review_id, case_id, content, status, deleted, notifier, create_user, create_time)
|
||||
|
|
|
@ -123,8 +123,7 @@
|
|||
</select>
|
||||
|
||||
<select id="getCommentUserInfoByIds" resultType="io.metersphere.system.dto.CommentUserInfo">
|
||||
<!-- avatar: 保留; 用户头像参数暂时为空, 后续调整为user_extend参数 -->
|
||||
SELECT u.*, '' as avatar
|
||||
SELECT u.*, ue.avatar as avatar
|
||||
FROM user u left join user_extend ue on u.id = ue.id
|
||||
WHERE u.id IN
|
||||
<foreach collection="ids" item="id" index="index"
|
||||
|
|
Loading…
Reference in New Issue