fix(接口自动化): 修复场景复制缺陷

This commit is contained in:
fit2-zhao 2020-12-16 17:30:47 +08:00
parent 3d1b39e592
commit 8ac28a233f
5 changed files with 17 additions and 9 deletions

View File

@ -34,8 +34,8 @@ public class ApiAutomationController {
}
@PostMapping(value = "/create")
public void create(@RequestPart("request") SaveApiScenarioRequest request, @RequestPart(value = "files") List<MultipartFile> bodyFiles) {
apiAutomationService.create(request, bodyFiles);
public ApiScenario create(@RequestPart("request") SaveApiScenarioRequest request, @RequestPart(value = "files") List<MultipartFile> bodyFiles) {
return apiAutomationService.create(request, bodyFiles);
}
@PostMapping(value = "/update")

View File

@ -100,11 +100,12 @@ public class ApiAutomationService {
apiScenarioMapper.deleteByExample(example);
}
public void create(SaveApiScenarioRequest request, List<MultipartFile> bodyFiles) {
public ApiScenario create(SaveApiScenarioRequest request, List<MultipartFile> bodyFiles) {
request.setId(UUID.randomUUID().toString());
checkNameExist(request);
final ApiScenario scenario = new ApiScenario();
scenario.setId(UUID.randomUUID().toString());
scenario.setId(request.getId());
scenario.setName(request.getName());
scenario.setProjectId(request.getProjectId());
scenario.setTagId(request.getTagId());
@ -132,6 +133,7 @@ public class ApiAutomationService {
List<String> bodyUploadIds = request.getBodyUploadIds();
apiDefinitionService.createBodyFiles(bodyUploadIds, bodyFiles);
return scenario;
}
public void update(SaveApiScenarioRequest request, List<MultipartFile> bodyFiles) {
@ -248,7 +250,7 @@ public class ApiAutomationService {
JSONObject element = JSON.parseObject(item.getScenarioDefinition());
MsScenario scenario = JSONObject.parseObject(item.getScenarioDefinition(), MsScenario.class);
// 多态JSON普通转换会丢失内容需要通过 ObjectMapper 获取
if (element!= null && StringUtils.isNotEmpty(element.getString("hashTree"))) {
if (element != null && StringUtils.isNotEmpty(element.getString("hashTree"))) {
LinkedList<MsTestElement> elements = mapper.readValue(element.getString("hashTree"),
new TypeReference<LinkedList<MsTestElement>>() {
});

@ -1 +1 @@
Subproject commit 61397c16728a63493507679f7e0940d9099f337f
Subproject commit 1fe20ba15a7ca3fe9f77ddf866021e7c7dfe5969

View File

@ -240,7 +240,7 @@
});
},
copy(row) {
row.id = getUUID();
row.copy = true;
this.$emit('edit', row);
},
showReport(row) {

View File

@ -694,9 +694,12 @@
if (valid) {
this.setParameter();
let bodyFiles = this.getBodyUploadFiles(this.currentScenario);
this.$fileUpload(this.path, null, bodyFiles, this.currentScenario, () => {
this.$fileUpload(this.path, null, bodyFiles, this.currentScenario, response => {
this.$success(this.$t('commons.save_success'));
this.path = "/api/automation/update";
if (response.data) {
this.currentScenario.id = response.data.id;
}
this.currentScenario.tagId = JSON.parse(this.currentScenario.tagId);
this.$emit('refresh');
})
@ -719,6 +722,9 @@
this.scenarioDefinition = obj.hashTree;
}
}
if (this.currentScenario.copy) {
this.path = "/api/automation/create";
}
}
})
}