fix(接口测试): 引用复制场景保存测试报错

This commit is contained in:
chenjianxing 2020-10-23 12:47:06 +08:00
parent 0da55f5ef0
commit 196bcec3bf
4 changed files with 39 additions and 5 deletions

@ -1 +1 @@
Subproject commit cf6b06526324326a563d933e07118fac014a63b4
Subproject commit ee74568be0beba46da19616f5832e83f9164c688

View File

@ -61,7 +61,7 @@
:request="selected" :scenario="currentScenario" v-if="isRequest"/>
</div>
</el-main>
<ms-api-scenario-select :exclude-id="test.id" @select="selectScenario" ref="selectDialog"/>
<ms-api-scenario-select :exclude-id="test.id" :project-id="test.projectId" @select="selectScenario" ref="selectDialog"/>
</el-container>
</template>

View File

@ -43,6 +43,7 @@ import MsTableSearchBar from "@/business/components/common/components/MsTableSea
import MsTableAdvSearchBar from "@/business/components/common/components/search/MsTableAdvSearchBar";
import MsApiScenarioSelectSubTable from "@/business/components/api/test/components/ApiScenarioSelectSubTable";
import {Scenario} from "@/business/components/api/test/model/ScenarioModel";
import {parseEnvironment} from "../model/EnvironmentModel";
export default {
name: "MsApiScenarioSelect",
@ -51,7 +52,8 @@ export default {
MsTableAdvSearchBar, MsTableSearchBar, MsTablePagination, MsTableHeader
},
props: {
excludeId: String
excludeId: String,
projectId: String
},
data() {
return {
@ -64,6 +66,7 @@ export default {
pageSize: 5,
total: 0,
selection: false,
environmentMap: new Map()
}
},
methods: {
@ -94,19 +97,50 @@ export default {
}
scenarios.push(scenario);
}
this.initScenarioEnvironment(scenarios);
this.$emit('select', scenarios);
},
getEnvironment() {
if (this.projectId) {
this.result = this.$get('/api/environment/list/' + this.projectId, response => {
let environments = response.data;
this.environmentMap = new Map();
environments.forEach(environment => {
parseEnvironment(environment);
this.environmentMap.set(environment.id, environment);
});
});
}
},
initScenarioEnvironment(scenarios) {
scenarios.forEach(scenario => {
if (scenario.environmentId) {
let env = this.environmentMap.get(scenario.environmentId);
if (!env) {
scenario.environmentId = undefined;
scenario.environment = undefined;
} else {
scenario.environment = env;
}
} else {
scenario.environmentId = undefined;
scenario.environment = undefined;
}
});
},
clone(row) {
let scenarios = [];
row.selected.forEach(options => {
// IDID
options.id = undefined;
scenarios.push(new Scenario(options));
})
});
this.initScenarioEnvironment(scenarios);
this.$emit('select', scenarios);
},
open() {
this.search();
this.getEnvironment();
this.visible = true;
},
close() {

@ -1 +1 @@
Subproject commit 06d935cd1d22ab36f09763745c2aff8ad3fb08c1
Subproject commit cc38137a69a0f20fadece9c0f9f50a9468c4ace9