fix(项目设置): 获取字段列表,模板字段必选参数设置有误
This commit is contained in:
parent
db9ce01770
commit
f1545c72da
|
@ -5,7 +5,7 @@ package io.metersphere.system.constants;
|
||||||
* @CreateTime: 2024-03-14 16:33
|
* @CreateTime: 2024-03-14 16:33
|
||||||
*/
|
*/
|
||||||
public enum TemplateRequiredCustomField {
|
public enum TemplateRequiredCustomField {
|
||||||
BUG_DEGREE("bug_degree");
|
BUG_DEGREE("functional_priority");
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|
|
@ -68,9 +68,6 @@ public class BaseCustomFieldService {
|
||||||
Map<String, List<CustomFieldOption>> optionMap = customFieldOptions.stream().collect(Collectors.groupingBy(CustomFieldOption::getFieldId));
|
Map<String, List<CustomFieldOption>> optionMap = customFieldOptions.stream().collect(Collectors.groupingBy(CustomFieldOption::getFieldId));
|
||||||
return customFields.stream().map(item -> {
|
return customFields.stream().map(item -> {
|
||||||
item.setCreateUser(userNameMap.get(item.getCreateUser()));
|
item.setCreateUser(userNameMap.get(item.getCreateUser()));
|
||||||
if (item.getInternal()) {
|
|
||||||
item.setName(translateInternalField(item.getName()));
|
|
||||||
}
|
|
||||||
CustomFieldDTO customFieldDTO = new CustomFieldDTO();
|
CustomFieldDTO customFieldDTO = new CustomFieldDTO();
|
||||||
BeanUtils.copyBean(customFieldDTO, item);
|
BeanUtils.copyBean(customFieldDTO, item);
|
||||||
//判断有没有用到
|
//判断有没有用到
|
||||||
|
@ -91,11 +88,13 @@ public class BaseCustomFieldService {
|
||||||
customFieldDTO.setOptions(List.of(createUserOption));
|
customFieldDTO.setOptions(List.of(createUserOption));
|
||||||
}
|
}
|
||||||
if (BooleanUtils.isTrue(item.getInternal())) {
|
if (BooleanUtils.isTrue(item.getInternal())) {
|
||||||
// 设置哪些内置字段是模板里必选的
|
// 设置哪些内置字段是模板里必选的
|
||||||
Set<String> templateRequiredCustomFieldSet = Arrays.stream(TemplateRequiredCustomField.values())
|
Set<String> templateRequiredCustomFieldSet = Arrays.stream(TemplateRequiredCustomField.values())
|
||||||
.map(TemplateRequiredCustomField::getName)
|
.map(TemplateRequiredCustomField::getName)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
customFieldDTO.setTemplateRequired(templateRequiredCustomFieldSet.contains(item.getName()));
|
customFieldDTO.setTemplateRequired(templateRequiredCustomFieldSet.contains(item.getName()));
|
||||||
|
// 翻译内置字段名称
|
||||||
|
customFieldDTO.setName(translateInternalField(item.getName()));
|
||||||
}
|
}
|
||||||
return customFieldDTO;
|
return customFieldDTO;
|
||||||
}).toList();
|
}).toList();
|
||||||
|
|
|
@ -4,7 +4,6 @@ import io.metersphere.project.domain.Project;
|
||||||
import io.metersphere.project.domain.ProjectExample;
|
import io.metersphere.project.domain.ProjectExample;
|
||||||
import io.metersphere.project.mapper.ProjectMapper;
|
import io.metersphere.project.mapper.ProjectMapper;
|
||||||
import io.metersphere.sdk.constants.*;
|
import io.metersphere.sdk.constants.*;
|
||||||
import io.metersphere.system.constants.TemplateRequiredCustomField;
|
|
||||||
import io.metersphere.system.domain.*;
|
import io.metersphere.system.domain.*;
|
||||||
import io.metersphere.system.dto.sdk.CustomFieldDTO;
|
import io.metersphere.system.dto.sdk.CustomFieldDTO;
|
||||||
import io.metersphere.system.dto.sdk.request.CustomFieldOptionRequest;
|
import io.metersphere.system.dto.sdk.request.CustomFieldOptionRequest;
|
||||||
|
@ -237,7 +236,13 @@ public class OrganizationCustomFieldControllerTests extends BaseTest {
|
||||||
List<String> userIds = customFields.stream().map(CustomField::getCreateUser).toList();
|
List<String> userIds = customFields.stream().map(CustomField::getCreateUser).toList();
|
||||||
Map<String, String> userNameMap = userLoginService.getUserNameMap(userIds);
|
Map<String, String> userNameMap = userLoginService.getUserNameMap(userIds);
|
||||||
for (int i = 0; i < resultList.size(); i++) {
|
for (int i = 0; i < resultList.size(); i++) {
|
||||||
CustomField resultItem = BeanUtils.copyBean(new CustomField(), resultList.get(i));
|
CustomFieldDTO customFieldDTO = resultList.get(i);
|
||||||
|
if (StringUtils.equals(customFieldDTO.getName(), "用例等级")) {
|
||||||
|
Assertions.assertTrue(customFieldDTO.getTemplateRequired());
|
||||||
|
} else {
|
||||||
|
Assertions.assertFalse(customFieldDTO.getTemplateRequired());
|
||||||
|
}
|
||||||
|
CustomField resultItem = BeanUtils.copyBean(new CustomField(), customFieldDTO);
|
||||||
CustomField customField = customFields.get(i);
|
CustomField customField = customFields.get(i);
|
||||||
customField.setCreateUser(userNameMap.get(customField.getCreateUser()));
|
customField.setCreateUser(userNameMap.get(customField.getCreateUser()));
|
||||||
if (customField.getInternal()) {
|
if (customField.getInternal()) {
|
||||||
|
@ -248,7 +253,7 @@ public class OrganizationCustomFieldControllerTests extends BaseTest {
|
||||||
Assertions.assertEquals(resultItem.getScene(), scene);
|
Assertions.assertEquals(resultItem.getScene(), scene);
|
||||||
|
|
||||||
if (StringUtils.equalsAny(resultItem.getType(), CustomFieldType.MEMBER.name(), CustomFieldType.MULTIPLE_MEMBER.name())) {
|
if (StringUtils.equalsAny(resultItem.getType(), CustomFieldType.MEMBER.name(), CustomFieldType.MULTIPLE_MEMBER.name())) {
|
||||||
List<CustomFieldOption> options = resultList.get(i).getOptions();
|
List<CustomFieldOption> options = customFieldDTO.getOptions();
|
||||||
Assertions.assertEquals(options.size(), 1);
|
Assertions.assertEquals(options.size(), 1);
|
||||||
Assertions.assertEquals(options.get(0).getValue(), "CREATE_USER");
|
Assertions.assertEquals(options.get(0).getValue(), "CREATE_USER");
|
||||||
Assertions.assertEquals(options.get(0).getText(), "创建人");
|
Assertions.assertEquals(options.get(0).getText(), "创建人");
|
||||||
|
@ -257,20 +262,13 @@ public class OrganizationCustomFieldControllerTests extends BaseTest {
|
||||||
Assertions.assertEquals(resultList.get(i).getOptions().stream().sorted(Comparator.comparing(CustomFieldOption::getValue)).toList(),
|
Assertions.assertEquals(resultList.get(i).getOptions().stream().sorted(Comparator.comparing(CustomFieldOption::getValue)).toList(),
|
||||||
baseCustomFieldOptionService.getByFieldId(customField.getId()).stream().sorted(Comparator.comparing(CustomFieldOption::getValue)).toList());
|
baseCustomFieldOptionService.getByFieldId(customField.getId()).stream().sorted(Comparator.comparing(CustomFieldOption::getValue)).toList());
|
||||||
}
|
}
|
||||||
Assertions.assertFalse(resultList.get(i).getTemplateRequired());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mvcResult = this.requestGetWithOk(LIST, DEFAULT_ORGANIZATION_ID, TemplateScene.BUG.name())
|
mvcResult = this.requestGetWithOk(LIST, DEFAULT_ORGANIZATION_ID, TemplateScene.BUG.name())
|
||||||
.andReturn();
|
.andReturn();
|
||||||
// 校验数据是否正确
|
// 校验数据是否正确
|
||||||
resultList = getResultDataArray(mvcResult, CustomFieldDTO.class);
|
resultList = getResultDataArray(mvcResult, CustomFieldDTO.class);
|
||||||
resultList.forEach(item -> {
|
resultList.forEach(item -> Assertions.assertFalse(item.getTemplateRequired()));
|
||||||
if (StringUtils.equals(item.getName(), "bug_degree")) {
|
|
||||||
Assertions.assertTrue(item.getTemplateRequired());
|
|
||||||
} else {
|
|
||||||
Assertions.assertFalse(item.getTemplateRequired());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// @@校验组织是否存在
|
// @@校验组织是否存在
|
||||||
assertErrorCode(this.requestGet(LIST, "1111", scene), NOT_FOUND);
|
assertErrorCode(this.requestGet(LIST, "1111", scene), NOT_FOUND);
|
||||||
|
|
Loading…
Reference in New Issue