fix(测试跟踪): 测试计划允许重复用例,关联功能用例模块树依然被过滤
--bug=1016596 --user=陈建星 【测试跟踪】github #17675,2.1版本测试计划按模块重复关联测试用例失败 https://www.tapd.cn/55049933/s/1239696
This commit is contained in:
parent
563d887ba3
commit
47b133b64d
|
@ -323,10 +323,14 @@
|
|||
<select id="getTestPlanRelateCountNodes" resultType="io.metersphere.track.dto.TestCaseNodeDTO">
|
||||
select tcn.id, count(*) as caseNum, test_case.project_id
|
||||
from test_case
|
||||
left join test_plan_test_case tptc on tptc.case_id = test_case.id and tptc.plan_id = #{request.planId}
|
||||
<if test="!request.repeatCase">
|
||||
left join test_plan_test_case tptc on tptc.case_id = test_case.id and tptc.plan_id = #{request.planId}
|
||||
</if>
|
||||
left join test_case_node tcn on test_case.node_id = tcn.id
|
||||
<include refid="queryWhereCondition"/>
|
||||
and tptc.case_id is null
|
||||
<if test="!request.repeatCase">
|
||||
and tptc.case_id is null
|
||||
</if>
|
||||
group by tcn.id
|
||||
</select>
|
||||
<select id="getTestReviewRelateCountNodes" resultType="io.metersphere.track.dto.TestCaseNodeDTO">
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.apache.ibatis.session.ExecutorType;
|
|||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionUtils;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
@ -66,6 +67,9 @@ public class TestCaseNodeService extends NodeTreeService<TestCaseNodeDTO> {
|
|||
ProjectMapper projectMapper;
|
||||
@Resource
|
||||
ExtTestReviewCaseMapper extTestReviewCaseMapper;
|
||||
@Resource
|
||||
@Lazy
|
||||
TestPlanService testPlanService;
|
||||
|
||||
public TestCaseNodeService() {
|
||||
super(TestCaseNodeDTO.class);
|
||||
|
@ -353,6 +357,9 @@ public class TestCaseNodeService extends NodeTreeService<TestCaseNodeDTO> {
|
|||
|
||||
public List<TestCaseNodeDTO> getRelatePlanNodes(QueryTestCaseRequest request) {
|
||||
request.setNodeIds(null);
|
||||
if (testPlanService.isAllowedRepeatCase(request.getPlanId())) {
|
||||
request.setRepeatCase(true);
|
||||
}
|
||||
List<TestCaseNodeDTO> countMNodes = extTestCaseMapper.getTestPlanRelateCountNodes(request);
|
||||
List<TestCaseNodeDTO> testCaseNodes = extTestCaseNodeMapper.getNodeTreeByProjectId(request.getProjectId());
|
||||
return getNodeTreeWithPruningTreeByCaseCount(testCaseNodes, getCountMap(countMNodes));
|
||||
|
|
Loading…
Reference in New Issue