fix(测试跟踪): 功能用例导出文本类型的自定义字段为空
--bug=1016034 --user=陈建星 【测试跟踪】功能用例中包含自定义字段,导出后自定义字段内容是空的 https://www.tapd.cn/55049933/s/1230916
This commit is contained in:
parent
eb82a33e88
commit
a933b92500
|
@ -49,6 +49,8 @@ public class TestCaseExcelData {
|
|||
private String priority;
|
||||
@ExcelIgnore
|
||||
Map<String, Object> customData = new LinkedHashMap<>();
|
||||
@ExcelIgnore
|
||||
Set<String> textFieldSet = new HashSet<>(2);
|
||||
|
||||
@ExcelIgnore
|
||||
List<String> mergeStepDesc;
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import io.metersphere.base.domain.TestCase;
|
||||
import io.metersphere.base.domain.TestCaseWithBLOBs;
|
||||
import io.metersphere.base.domain.ext.CustomFieldResource;
|
||||
import io.metersphere.commons.constants.CustomFieldType;
|
||||
import io.metersphere.commons.constants.TestCaseConstants;
|
||||
import io.metersphere.commons.exception.CustomFieldValidateException;
|
||||
import io.metersphere.commons.exception.MSException;
|
||||
|
@ -410,6 +411,9 @@ public class TestCaseNoModelDataListener extends AnalysisEventListener<Map<Integ
|
|||
// 这里如果填的是选项值,替换成选项ID,保存
|
||||
customData.put(fieldName, customFieldValidator.parse2Key(value.toString(), customField));
|
||||
}
|
||||
if (StringUtils.equalsAny(customField.getType(), CustomFieldType.TEXTAREA.getValue(), CustomFieldType.RICH_TEXT.getValue())) {
|
||||
data.getTextFieldSet().add(fieldName);
|
||||
}
|
||||
} catch (CustomFieldValidateException e) {
|
||||
stringBuilder.append(e.getMessage().concat(ERROR_MSG_SEPARATOR));
|
||||
}
|
||||
|
@ -554,6 +558,7 @@ public class TestCaseNoModelDataListener extends AnalysisEventListener<Map<Integ
|
|||
*/
|
||||
private void buildTestCaseCustomFieldMap(TestCaseExcelData data, TestCaseWithBLOBs testCase) {
|
||||
Map<String, Object> customData = data.getCustomData();
|
||||
Set<String> textFieldSet = data.getTextFieldSet();
|
||||
List<CustomFieldResource> testCaseCustomFields = new ArrayList<>();
|
||||
customData.forEach((k, v) -> {
|
||||
if ((v instanceof List && CollectionUtils.isNotEmpty((List)v))
|
||||
|
@ -562,7 +567,11 @@ public class TestCaseNoModelDataListener extends AnalysisEventListener<Map<Integ
|
|||
if (customFieldDao != null) {
|
||||
CustomFieldResource customFieldResource = new CustomFieldResource();
|
||||
customFieldResource.setFieldId(customFieldDao.getId());
|
||||
customFieldResource.setValue(JSON.toJSONString(v));
|
||||
if (textFieldSet.contains(customFieldDao.getId())) {
|
||||
customFieldResource.setTextValue(v.toString());
|
||||
} else {
|
||||
customFieldResource.setValue(JSON.toJSONString(v));
|
||||
}
|
||||
customFieldResource.setResourceId(testCase.getId());
|
||||
testCaseCustomFields.add(customFieldResource);
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ export function parseCustomField(data, template, rules, oldFields) {
|
|||
let customField = data.fields[i];
|
||||
if (customField.id === item.id) {
|
||||
try {
|
||||
if (customField.textValue) {
|
||||
if (item.type === 'textarea' || item.type === 'richText') {
|
||||
setDefaultValue(item, customField.textValue);
|
||||
} else {
|
||||
setDefaultValue(item, customField.value);
|
||||
|
|
Loading…
Reference in New Issue