fix(测试跟踪): 评审用例编辑页状态显示不准确
--bug=1021802 --user=陈建星 【测试跟踪】同一个用例被多个评审关联,评审结果不更新 https://www.tapd.cn/55049933/s/1333740
This commit is contained in:
parent
71e27a6354
commit
89ab0222c3
|
@ -142,7 +142,7 @@
|
|||
test_case_review_test_case.update_time, test_case_review_test_case.review_id as reviewId,
|
||||
test_case.id as caseId, test_case.name, test_case.priority, test_case.test_id as testId,
|
||||
test_case.type, test_case.node_path, test_case.num,
|
||||
test_case.custom_num, test_case_review_test_case.status reviewStatus,
|
||||
test_case.custom_num, test_case_review_test_case.status review_status,
|
||||
test_case.remark as remark, test_case.maintainer, test_case.steps as steps, test_case.node_id as nodeId,
|
||||
test_case.project_id,
|
||||
test_case_node.name as model, test_case.version_id
|
||||
|
@ -319,7 +319,7 @@
|
|||
|
||||
<select id="get" resultType="io.metersphere.dto.TestReviewCaseDTO">
|
||||
select test_case_review_test_case.id id, test_case_review_test_case.case_id caseId,
|
||||
test_case.remark, test_case.review_status reviewStatus, test_case.status status, test_case.*,
|
||||
test_case.remark, test_case_review_test_case.status review_status, test_case.status status, test_case.*,
|
||||
test_case_review_test_case.*, test_case_node.name as model, project.name as projectName
|
||||
from test_case_review_test_case
|
||||
inner join test_case on test_case_review_test_case.case_id = test_case.id
|
||||
|
@ -346,7 +346,7 @@
|
|||
select tcrtc.id as id,
|
||||
tcrtc.review_id as reviewId,
|
||||
test_case.id as caseId, test_case.name, test_case.priority,
|
||||
test_case.type, test_case.node_path, test_case.review_status,
|
||||
test_case.type, test_case.node_path, tcrtc.status,
|
||||
test_case.remark as remark, test_case.maintainer, test_case.steps as steps,
|
||||
test_case.node_id as nodeId,
|
||||
test_case.prerequisite, test_case.step_description, test_case.expected_result, test_case.step_model
|
||||
|
|
|
@ -122,9 +122,7 @@ public class TestCaseCommentService {
|
|||
if (!sTime.equals("null")) {
|
||||
start = sdf.format(new Date(Long.parseLong(sTime)));
|
||||
}
|
||||
String context = StringUtils.EMPTY;
|
||||
context = "测试评审任务通知:" + user.getName() + "在" + start + "为" + "'" + testCaseWithBLOBs.getName() + "'" + "添加评论:" + testCaseComment.getDescription();
|
||||
return context;
|
||||
return "测试评审任务通知:" + user.getName() + "在" + start + "为" + "'" + testCaseWithBLOBs.getName() + "'" + "添加评论:" + testCaseComment.getDescription();
|
||||
}
|
||||
|
||||
public void delete(String commentId) {
|
||||
|
@ -132,6 +130,14 @@ public class TestCaseCommentService {
|
|||
testCaseCommentMapper.deleteByPrimaryKey(commentId);
|
||||
}
|
||||
|
||||
public void deleteByBelongIdAndCaseId(String caseId, String belongId) {
|
||||
TestCaseCommentExample example = new TestCaseCommentExample();
|
||||
example.createCriteria()
|
||||
.andCaseIdEqualTo(caseId)
|
||||
.andBelongIdEqualTo(belongId);
|
||||
testCaseCommentMapper.deleteByExample(example);
|
||||
}
|
||||
|
||||
public TestCaseComment edit(SaveCommentRequest request) {
|
||||
checkCommentOwner(request.getId());
|
||||
testCaseCommentMapper.updateByPrimaryKeySelective(request);
|
||||
|
|
|
@ -131,6 +131,7 @@ public class TestReviewTestCaseService {
|
|||
testCaseReviewTestCaseUsersExample.createCriteria().andReviewIdEqualTo(request.getReviewId()).andCaseIdEqualTo(testCaseReviewTestCase.getCaseId());
|
||||
testCaseReviewTestCaseUsersMapper.deleteByExample(testCaseReviewTestCaseUsersExample);
|
||||
}
|
||||
testCaseCommentService.deleteByBelongIdAndCaseId(testCaseReviewTestCase.getCaseId(), request.getReviewId());
|
||||
return testCaseReviewTestCaseMapper.deleteByPrimaryKey(request.getId());
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
SET SESSION innodb_lock_wait_timeout = 7200;
|
||||
|
||||
-- 给历史的评审评论,设置评审ID
|
||||
-- 初始化数据
|
||||
INSERT INTO test_case_review_test_case_users
|
||||
SELECT DISTINCT t1.case_id, t2.review_id, t2.user_id
|
||||
|
@ -8,4 +7,4 @@ FROM test_case_review_test_case t1,
|
|||
test_case_review_users t2
|
||||
WHERE t1.review_id = t2.review_id;
|
||||
|
||||
SET SESSION innodb_lock_wait_timeout = DEFAULT;
|
||||
SET SESSION innodb_lock_wait_timeout = DEFAULT;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
SET SESSION innodb_lock_wait_timeout = 7200;
|
||||
|
||||
-- 给历史的评审评论,设置评审ID
|
||||
INSERT INTO test_case_comment (id, case_id, description, author, create_time, update_time, status, type, belong_id)
|
||||
SELECT UUID() AS id, tcc.case_id, tcc.description, tcc.author, tcc.create_time, tcc.update_time, tcc.status, tcc.type, tcrtc.review_id as belong_id
|
||||
FROM test_case_comment tcc
|
||||
|
@ -9,4 +10,10 @@ WHERE tcc.type = 'REVIEW';
|
|||
-- 删除 belong_id 为 NULL 的历史数据
|
||||
DELETE FROM test_case_comment WHERE type = 'REVIEW' AND belong_id IS NULL;
|
||||
|
||||
SET SESSION innodb_lock_wait_timeout = DEFAULT;
|
||||
-- 历史数据 Prepare 的评审评论状态改为 null
|
||||
UPDATE test_case_comment SET status = NULL WHERE status = 'Prepare' AND `type` = 'REVIEW';
|
||||
|
||||
-- 将评审用例历史数据的未评审改成评审中
|
||||
UPDATE test_case_review_test_case SET status = 'Underway' WHERE status = 'Prepare';
|
||||
|
||||
SET SESSION innodb_lock_wait_timeout = DEFAULT;
|
||||
|
|
|
@ -172,7 +172,6 @@ export default {
|
|||
testCaseTemplate: {},
|
||||
formLabelWidth: "100px",
|
||||
isCustomFiledActive: false,
|
||||
oldReviewStatus: "",
|
||||
titleWith: 0,
|
||||
relationGraphOpen: false,
|
||||
isCommentEmpty: true
|
||||
|
@ -341,7 +340,6 @@ export default {
|
|||
);
|
||||
this.isCustomFiledActive = true;
|
||||
this.testCase = item;
|
||||
this.oldReviewStatus = this.testCase.reviewStatus;
|
||||
if (!this.testCase.actualResult) {
|
||||
// 如果没值,使用模板的默认值
|
||||
this.testCase.actualResult = this.testCaseTemplate.actualResult;
|
||||
|
@ -364,8 +362,6 @@ export default {
|
|||
this.loading = true;
|
||||
|
||||
this.showDialog = true;
|
||||
// 一开始加载时候需要保存用例评审旧的状态
|
||||
this.oldReviewStatus = testCase.reviewStatus;
|
||||
this.activeTab = "detail";
|
||||
listenGoBack(this.handleClose);
|
||||
let initFuc = this.getTestCase;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<span>
|
||||
{{ testCase.name }}
|
||||
</span>
|
||||
<el-popover v-if="reviewerStatus" placement="right" trigger="hover">
|
||||
<el-popover v-if="reviewerStatus && reviewerStatus.length > 0" placement="right" trigger="hover">
|
||||
|
||||
<div class="status-tip" v-for="item in reviewerStatus" :key="item.author">
|
||||
<span style="font-size: 14px;color: #909399;font-weight: bold">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<status-edit ref="statusEdit" :plan-id="reviewId"
|
||||
:select-ids="new Set(Array.from(this.selectRows).map(row => row.id))" @refresh="initTableData"/>
|
||||
<ms-table
|
||||
v-loading="result.loading"
|
||||
v-loading="loading"
|
||||
:field-key="tableHeaderKey"
|
||||
:data="tableData"
|
||||
:condition="condition"
|
||||
|
@ -208,6 +208,7 @@ import {useStore} from "@/store";
|
|||
import {getVersionFilters} from "@/business/utils/sdk-utils";
|
||||
import {getProjectMember, getProjectMemberUserFilter} from "@/api/user";
|
||||
import {TEST_REVIEW_CASE} from "metersphere-frontend/src/components/search/search-components";
|
||||
import {getProjectApplicationConfig} from "@/api/project-application";
|
||||
|
||||
export default {
|
||||
name: "TestReviewTestCaseList",
|
||||
|
@ -230,7 +231,7 @@ export default {
|
|||
headerItems: Test_Case_Review_Case_List,
|
||||
screenHeight: 'calc(100vh - 240px)',
|
||||
tableLabel: [],
|
||||
result: {},
|
||||
loading: false,
|
||||
condition: {
|
||||
components: TEST_REVIEW_CASE
|
||||
},
|
||||
|
@ -412,6 +413,7 @@ export default {
|
|||
|
||||
this.condition.nodeIds = this.selectNodeIds;
|
||||
if (this.reviewId) {
|
||||
this.loading = true;
|
||||
getTestReviewTestCase(this.currentPage, this.pageSize, this.condition)
|
||||
.then((response) => {
|
||||
this.total = response.data.itemCount;
|
||||
|
@ -421,6 +423,7 @@ export default {
|
|||
if (callback && callback instanceof Function) {
|
||||
callback();
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
this.getNexPageData();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue