mirror of
https://gitee.com/fit2cloud-feizhiyun/MeterSphere.git
synced 2024-11-30 11:08:38 +08:00
fix(测试跟踪): 功能用例高级搜索,用例状态搜索结果不准确
--bug=1019476 --user=陈建星 【测试跟踪】github #19529,在使用功能用例列表的“高级搜索”的时候,按自定义的用例状态进行搜索,只能查询到一条数据 https://www.tapd.cn/55049933/s/1291489
This commit is contained in:
parent
0bba27983a
commit
30a533159c
@ -654,6 +654,19 @@ export const CASE_REVIEW_STATUS = {
|
||||
}
|
||||
}
|
||||
|
||||
export const CASE_STATUS = {
|
||||
key: "status",
|
||||
name: 'MsTableSearchSelect',
|
||||
label: "custom_field.case_status",
|
||||
operator: {
|
||||
options: [OPERATORS.IN, OPERATORS.NOT_IN]
|
||||
},
|
||||
options: [],
|
||||
props: {
|
||||
multiple: true
|
||||
}
|
||||
}
|
||||
|
||||
export const PLAN_CASE_STATUS = {
|
||||
key: "planCaseStatus",
|
||||
name: 'MsTableSearchSelect',
|
||||
@ -867,7 +880,7 @@ export const UI_CUSTOM_COMMAND_CONFIGS = [NAME, CREATE_TIME, PROJECT_CREATOR, UI
|
||||
export const UI_CUSTOM_COMMAND_CONFIGS_TRASH = [NAME, CREATE_TIME, PROJECT_CREATOR, UI_CUSTOM_COMMAND_TRASH_MODULE_TREE];
|
||||
|
||||
// 测试跟踪-测试用例 列表
|
||||
export const TEST_CASE_CONFIGS = [ID, NAME, TAGS, TEST_CASE_MODULE_TREE, CREATE_TIME, UPDATE_TIME, CREATOR, CASE_REVIEW_STATUS, FOLLOW_PEOPLE, CASE_DEMAND];
|
||||
export const TEST_CASE_CONFIGS = [ID, NAME, TAGS, TEST_CASE_MODULE_TREE, CREATE_TIME, UPDATE_TIME, CREATOR, CASE_REVIEW_STATUS, FOLLOW_PEOPLE, CASE_DEMAND, CASE_STATUS];
|
||||
|
||||
export const TEST_PLAN_CONFIGS = [NAME, UPDATE_TIME, CREATE_TIME, PRINCIPAL, TEST_PLAN_STATUS, STAGE, TAGS, FOLLOW_PEOPLE, ACTUAL_START_TIME, ACTUAL_END_TIME, PLAN_START_TIME, PLAN_END_TIME];
|
||||
|
||||
|
@ -46,6 +46,12 @@
|
||||
<property name="object" value="${condition}.priority"/>
|
||||
</include>
|
||||
</if>
|
||||
<if test="${condition}.status != null">
|
||||
and test_case.status
|
||||
<include refid="io.metersphere.base.mapper.ext.ExtBaseMapper.condition">
|
||||
<property name="object" value="${condition}.status"/>
|
||||
</include>
|
||||
</if>
|
||||
<if test="${condition}.createTime != null">
|
||||
and test_case.create_time
|
||||
<include refid="io.metersphere.base.mapper.ext.ExtBaseMapper.condition">
|
||||
|
@ -536,31 +536,7 @@ export default {
|
||||
let template = data[1];
|
||||
this.testCaseTemplate = template;
|
||||
this.fields = getTableHeaderWithCustomFields(this.tableHeaderKey, this.testCaseTemplate.customFields, this.members);
|
||||
// todo 处理高级搜索自定义字段部分
|
||||
this.condition.components = this.condition.components.filter(item => item.custom !== true);
|
||||
let comp = getAdvSearchCustomField(this.condition, this.testCaseTemplate.customFields);
|
||||
// 系统字段国际化处理
|
||||
comp.filter(element => {
|
||||
if (element.label === '责任人') {
|
||||
element.label = this.$t('custom_field.case_maintainer')
|
||||
}
|
||||
if (element.label === '用例等级') {
|
||||
element.label = this.$t('custom_field.case_priority')
|
||||
}
|
||||
if (element.label === '用例状态') {
|
||||
element.label = this.$t('custom_field.case_status')
|
||||
// 回收站TAB页处理高级搜索用例状态字段
|
||||
if (this.trashEnable) {
|
||||
element.operator.options = [OPERATORS.IN];
|
||||
element.options = [{text: this.$t('test_track.plan.plan_status_trash'), value: 'Trash'}];
|
||||
} else {
|
||||
element.options.forEach(option => {
|
||||
option.text = this.$t(option.text);
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
this.condition.components.push(...comp);
|
||||
this.initConditionComponents()
|
||||
this.setTestCaseDefaultValue(template);
|
||||
this.typeArr = [];
|
||||
this.typeArr.push({
|
||||
@ -577,6 +553,45 @@ export default {
|
||||
});
|
||||
});
|
||||
},
|
||||
initConditionComponents() {
|
||||
this.condition.components = this.condition.components.filter(item => item.custom !== true);
|
||||
let comp = getAdvSearchCustomField(this.condition, this.testCaseTemplate.customFields);
|
||||
let statusOption = null;
|
||||
// 系统字段国际化处理
|
||||
comp = comp.filter(element => {
|
||||
if (element.label === '责任人') {
|
||||
element.label = this.$t('custom_field.case_maintainer')
|
||||
}
|
||||
if (element.label === '用例等级') {
|
||||
element.label = this.$t('custom_field.case_priority')
|
||||
}
|
||||
if (element.label === '用例状态') {
|
||||
element.label = this.$t('custom_field.case_status')
|
||||
// 回收站TAB页处理高级搜索用例状态字段
|
||||
if (this.trashEnable) {
|
||||
element.operator.options = [OPERATORS.IN];
|
||||
element.options = [{text: this.$t('test_track.plan.plan_status_trash'), value: 'Trash'}];
|
||||
} else {
|
||||
element.options.forEach(option => option.text = this.$t(option.text));
|
||||
}
|
||||
statusOption = element.options;
|
||||
// 用例状态不走自定义字段的搜索,查询status字段
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
if (statusOption) {
|
||||
this.condition.components.forEach((item) => {
|
||||
if (item.key === 'status') {
|
||||
item .options = statusOption;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// statusOption 为空,则去掉状态选项
|
||||
this.condition.components = this.condition.components.filter((item) => item.key !== 'status');
|
||||
}
|
||||
this.condition.components.push(...comp);
|
||||
},
|
||||
setTestCaseDefaultValue(template) {
|
||||
let testCaseDefaultValue = {};
|
||||
template.customFields.forEach(item => {
|
||||
|
Loading…
Reference in New Issue
Block a user