refactor(测试计划): 优化测试计划关联接口的列表展示顺序
This commit is contained in:
parent
b85a2e99c8
commit
85200437fd
|
@ -60,10 +60,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -587,8 +584,9 @@ public class TestPlanApiCaseService extends TestPlanResourceService {
|
|||
apiCaseList.forEach(apiCase -> {
|
||||
List<String> apiCaseIds = apiCase.getIds();
|
||||
if (CollectionUtils.isNotEmpty(apiCaseIds)) {
|
||||
List<ApiTestCase> apiTestCases = apiTestCaseList.stream().filter(item -> apiCaseIds.contains(item.getId())).collect(Collectors.toList());
|
||||
buildTestPlanApiCase(testPlan, apiTestCases, apiCase.getCollectionId(), user, testPlanApiCaseList, logDTOS);
|
||||
List<ApiTestCase> apiTestCases = apiTestCaseList.stream().filter(item -> apiCaseIds.contains(item.getId())).toList();
|
||||
Map<String, ApiTestCase> apiTestCaseMap = apiTestCases.stream().collect(Collectors.toMap(ApiTestCase::getId, Function.identity()));
|
||||
buildTestPlanApiCase(testPlan, apiCaseIds, apiTestCaseMap, apiCase.getCollectionId(), user, testPlanApiCaseList, logDTOS);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -601,9 +599,16 @@ public class TestPlanApiCaseService extends TestPlanResourceService {
|
|||
List<ApiTestCase> apiTestCaseList = extTestPlanApiCaseMapper.selectApiCaseByDefinitionIds(ids, isRepeat, testPlan.getId());
|
||||
apiCaseList.forEach(apiCase -> {
|
||||
List<String> apiCaseIds = apiCase.getIds();
|
||||
if (CollectionUtils.isNotEmpty(apiCaseIds)) {
|
||||
List<ApiTestCase> apiTestCases = apiTestCaseList.stream().filter(item -> apiCaseIds.contains(item.getApiDefinitionId())).collect(Collectors.toList());
|
||||
buildTestPlanApiCase(testPlan, apiTestCases, apiCase.getCollectionId(), user, testPlanApiCaseList, logDTOS);
|
||||
if (CollectionUtils.isNotEmpty(apiCaseIds) && CollectionUtils.isNotEmpty(apiTestCaseList)) {
|
||||
List<ApiTestCase> apiTestCases = apiTestCaseList.stream().filter(item -> apiCaseIds.contains(item.getApiDefinitionId())).toList();
|
||||
//生成map集合 key是apiDefinitionId value是apiTestCase
|
||||
Map<String, ApiTestCase> apiTestCaseMap = apiTestCases.stream().collect(Collectors.toMap(ApiTestCase::getId, Function.identity()));
|
||||
// apiTestCases 生成map key是apiDefinitionId value是List<String> id
|
||||
Map<String, List<String>> apiTestCaseMapIds = apiTestCases.stream().collect(Collectors.groupingBy(ApiTestCase::getApiDefinitionId, Collectors.mapping(ApiTestCase::getId, Collectors.toList())));
|
||||
Collections.reverse(apiCaseIds);
|
||||
apiCaseIds.forEach(apiCaseId -> {
|
||||
buildTestPlanApiCase(testPlan, apiTestCaseMapIds.get(apiCaseId), apiTestCaseMap, apiCase.getCollectionId(), user, testPlanApiCaseList, logDTOS);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -618,10 +623,12 @@ public class TestPlanApiCaseService extends TestPlanResourceService {
|
|||
* @param user
|
||||
* @param testPlanApiCaseList
|
||||
*/
|
||||
private void buildTestPlanApiCase(TestPlan testPlan, List<ApiTestCase> apiTestCases, String collectionId, SessionUser user, List<TestPlanApiCase> testPlanApiCaseList, List<LogDTO> logDTOS) {
|
||||
private void buildTestPlanApiCase(TestPlan testPlan, List<String> ids, Map<String, ApiTestCase> apiTestCases, String collectionId, SessionUser user, List<TestPlanApiCase> testPlanApiCaseList, List<LogDTO> logDTOS) {
|
||||
super.checkCollection(testPlan.getId(), collectionId, CaseType.API_CASE.getKey());
|
||||
AtomicLong nextOrder = new AtomicLong(getNextOrder(collectionId));
|
||||
apiTestCases.forEach(apiTestCase -> {
|
||||
Collections.reverse(ids);
|
||||
ids.forEach(id -> {
|
||||
ApiTestCase apiTestCase = apiTestCases.get(id);
|
||||
TestPlanApiCase testPlanApiCase = new TestPlanApiCase();
|
||||
testPlanApiCase.setId(IDGenerator.nextStr());
|
||||
testPlanApiCase.setTestPlanCollectionId(collectionId);
|
||||
|
|
|
@ -58,10 +58,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -197,8 +194,10 @@ public class TestPlanApiScenarioService extends TestPlanResourceService {
|
|||
apiScenarioList.forEach(apiScenario -> {
|
||||
List<String> apiScenarioIds = apiScenario.getIds();
|
||||
if (CollectionUtils.isNotEmpty(apiScenarioIds)) {
|
||||
List<ApiScenario> scenarios = apiScenarios.stream().filter(item -> apiScenarioIds.contains(item.getId())).collect(Collectors.toList());
|
||||
buildTestPlanApiScenario(testPlan, scenarios, apiScenario.getCollectionId(), user, testPlanApiScenarioList, logDTOS);
|
||||
List<ApiScenario> scenarios = apiScenarios.stream().filter(item -> apiScenarioIds.contains(item.getId())).toList();
|
||||
// 生成map key为id value为scenario
|
||||
Map<String, ApiScenario> scenarioMap = scenarios.stream().collect(Collectors.toMap(ApiScenario::getId, Function.identity()));
|
||||
buildTestPlanApiScenario(testPlan, apiScenarioIds, scenarioMap, apiScenario.getCollectionId(), user, testPlanApiScenarioList, logDTOS);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -213,10 +212,12 @@ public class TestPlanApiScenarioService extends TestPlanResourceService {
|
|||
* @param user
|
||||
* @param testPlanApiScenarioList
|
||||
*/
|
||||
private void buildTestPlanApiScenario(TestPlan testPlan, List<ApiScenario> scenarios, String collectionId, SessionUser user, List<TestPlanApiScenario> testPlanApiScenarioList, List<LogDTO> logDTOS) {
|
||||
private void buildTestPlanApiScenario(TestPlan testPlan, List<String> ids, Map<String, ApiScenario> scenarios, String collectionId, SessionUser user, List<TestPlanApiScenario> testPlanApiScenarioList, List<LogDTO> logDTOS) {
|
||||
super.checkCollection(testPlan.getId(), collectionId, CaseType.SCENARIO_CASE.getKey());
|
||||
AtomicLong nextOrder = new AtomicLong(getNextOrder(collectionId));
|
||||
scenarios.forEach(scenario -> {
|
||||
Collections.reverse(ids);
|
||||
ids.forEach(id -> {
|
||||
ApiScenario scenario = scenarios.get(id);
|
||||
TestPlanApiScenario testPlanApiScenario = new TestPlanApiScenario();
|
||||
testPlanApiScenario.setId(IDGenerator.nextStr());
|
||||
testPlanApiScenario.setTestPlanId(testPlan.getId());
|
||||
|
|
|
@ -787,6 +787,8 @@ public class TestPlanFunctionalCaseService extends TestPlanResourceService {
|
|||
List<FunctionalCase> functionalCases = functionalCaseMapper.selectByExample(example);
|
||||
AtomicLong nextOrder = new AtomicLong(getNextOrder(functional.getCollectionId()));
|
||||
Map<String, FunctionalCase> collect = functionalCases.stream().collect(Collectors.toMap(FunctionalCase::getId, functionalCase -> functionalCase));
|
||||
// 需要按列表顺序插入,所以需要反转列表
|
||||
Collections.reverse(functionalIds);
|
||||
functionalIds.forEach(functionalId -> {
|
||||
FunctionalCase functionalCase = collect.get(functionalId);
|
||||
TestPlanFunctionalCase testPlanFunctionalCase = new TestPlanFunctionalCase();
|
||||
|
|
|
@ -6,8 +6,8 @@ VALUES
|
|||
|
||||
INSERT INTO `test_plan_config`(`test_plan_id`, `automatic_status_update`, `repeat_case`, `pass_threshold`,
|
||||
`case_run_mode`)
|
||||
VALUES ('wxxx_1', b'0', b'0', 100, 'PARALLEL'),
|
||||
('wxxx_2', b'0', b'0', 100, 'PARALLEL');
|
||||
VALUES ('wxxx_1', b'0', b'1', 100, 'PARALLEL'),
|
||||
('wxxx_2', b'0', b'1', 100, 'PARALLEL');
|
||||
|
||||
|
||||
INSERT INTO `api_definition`(`id`, `name`, `protocol`, `method`, `path`, `status`, `num`, `tags`, `pos`, `project_id`, `module_id`, `latest`, `version_id`, `ref_id`, `description`, `create_time`, `create_user`, `update_time`, `update_user`, `delete_user`, `delete_time`, `deleted`)
|
||||
|
|
Loading…
Reference in New Issue