feat: add enum dto APIs and batch save
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package com.bruce.common.enumconfig;
|
||||
|
||||
import com.bruce.common.domain.entity.SysEnum;
|
||||
import com.bruce.common.dto.request.SysEnumBatchSaveRequest;
|
||||
import com.bruce.common.service.impl.SysEnumServiceImpl;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
class SysEnumBatchSaveValidationTests {
|
||||
|
||||
@Test
|
||||
void batchSaveShouldRejectDuplicateValuesInsideRequest() {
|
||||
SysEnumServiceImpl service = new SysEnumServiceImpl();
|
||||
SysEnumBatchSaveRequest request = new SysEnumBatchSaveRequest();
|
||||
request.setCatalog("common");
|
||||
request.setType("enable_status");
|
||||
request.setItems(List.of(
|
||||
item("启用", 1),
|
||||
item("可用", 1)
|
||||
));
|
||||
|
||||
assertThrows(IllegalArgumentException.class, () -> service.validateBatchSaveRequest(request, List.of()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void batchSaveShouldRejectDuplicateValuesFromExistingEnums() {
|
||||
SysEnumServiceImpl service = new SysEnumServiceImpl();
|
||||
SysEnum existing = new SysEnum();
|
||||
existing.setCatalog("common");
|
||||
existing.setType("enable_status");
|
||||
existing.setValue(1);
|
||||
|
||||
SysEnumBatchSaveRequest request = new SysEnumBatchSaveRequest();
|
||||
request.setCatalog("common");
|
||||
request.setType("enable_status");
|
||||
request.setItems(List.of(item("启用", 1)));
|
||||
|
||||
assertThrows(
|
||||
IllegalArgumentException.class,
|
||||
() -> service.validateBatchSaveRequest(request, List.of(existing))
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void batchSaveShouldAcceptUniqueValues() {
|
||||
SysEnumServiceImpl service = new SysEnumServiceImpl();
|
||||
SysEnumBatchSaveRequest request = new SysEnumBatchSaveRequest();
|
||||
request.setCatalog("common");
|
||||
request.setType("enable_status");
|
||||
request.setItems(List.of(
|
||||
item("禁用", 0),
|
||||
item("启用", 1)
|
||||
));
|
||||
|
||||
assertDoesNotThrow(() -> service.validateBatchSaveRequest(request, List.of()));
|
||||
}
|
||||
|
||||
private SysEnumBatchSaveRequest.Item item(String name, Integer value) {
|
||||
SysEnumBatchSaveRequest.Item item = new SysEnumBatchSaveRequest.Item();
|
||||
item.setName(name);
|
||||
item.setValue(value);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user