Untitled
unknown
plain_text
2 years ago
4.4 kB
7
Indexable
class GetAllTestClass {
@InjectMocks
private YourClass yourClass;
@Mock
private FeatureRuleConfigFieldRepository featureRuleConfigFieldRepository;
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void testGetAllFeatureFieldMetaInfo() {
int featureId = 1;
// Tạo danh sách giả lập của Tuple
Tuple tuple1 = Mockito.mock(Tuple.class);
when(tuple1.get(any(Path.class))).thenReturn("key1", "valueType1", "type1");
Tuple tuple2 = Mockito.mock(Tuple.class);
when(tuple2.get(any(Path.class))).thenReturn("key2", "valueType2", "type2");
// Tạo danh sách kết quả giả lập từ truy vấn
List<Tuple> mockResult = new ArrayList<>();
mockResult.add(tuple1);
mockResult.add(tuple2);
// Giả lập việc truy vấn cơ sở dữ liệu
when(featureRuleConfigFieldRepository.from(any(EntityPathBase.class))).thenReturn(featureRuleConfigFieldRepository);
when(featureRuleConfigFieldRepository.distinct()).thenReturn(featureRuleConfigFieldRepository);
when(featureRuleConfigFieldRepository.select(any(Path.class))).thenReturn(featureRuleConfigFieldRepository);
when(featureRuleConfigFieldRepository.where(any(Predicate.class))).thenReturn(featureRuleConfigFieldRepository);
when(featureRuleConfigFieldRepository.orderBy(any(OrderSpecifier.class))).thenReturn(featureRuleConfigFieldRepository);
when(featureRuleConfigFieldRepository.fetch()).thenReturn(mockResult);
// Gọi phương thức cần kiểm thử
List<FieldMetaInfo> result = yourClass.getAllFeatureFieldMetaInfo(featureId);
// Kiểm tra kết quả
assertEquals(2, result.size());
FieldMetaInfo fieldMetaInfo1 = result.get(0);
assertEquals("key1", fieldMetaInfo1.getKey());
assertEquals("valueType1", fieldMetaInfo1.getValueType());
assertEquals("type1", fieldMetaInfo1.getType());
FieldMetaInfo fieldMetaInfo2 = result.get(1);
assertEquals("key2", fieldMetaInfo2.getKey());
assertEquals("valueType2", fieldMetaInfo2.getValueType());
assertEquals("type2", fieldMetaInfo2.getType());
}
}
///////////////////////////////////
class DeleteTestClass {
@InjectMocks
private YourClass yourClass;
@Mock
private FeatureRuleConfigFieldRepository featureRuleConfigFieldRepository;
@Mock
private FeatureRuleConfigService featureRuleConfigService;
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void testDeleteFeatureRuleConfigField() {
int featureId = 1;
String fieldKey = "testField";
// Giả lập truy vấn xóa
BooleanExpression predicate = mock(BooleanExpression.class);
when(featureRuleConfigFieldRepository.isNotNull()).thenReturn(predicate);
when(predicate.and(any())).thenReturn(predicate);
doNothing().when(featureRuleConfigFieldRepository).delete(any());
// Giả lập truy vấn danh sách featureRuleConfigs
List<FeatureRuleConfig> featureRuleConfigs = new ArrayList<>();
FeatureRuleConfig config1 = new FeatureRuleConfig();
config1.setId(1);
featureRuleConfigs.add(config1);
FeatureRuleConfig config2 = new FeatureRuleConfig();
config2.setId(2);
featureRuleConfigs.add(config2);
when(featureRuleConfigService.getAllFeatureRuleConfigs(featureId)).thenReturn(featureRuleConfigs);
// Giả lập cập nhật featureRuleConfig
doNothing().when(featureRuleConfigService).updateFeatureRuleConfigById(anyInt(), any());
// Gọi phương thức cần kiểm thử
yourClass.deleteFeatureRuleConfigField(featureId, fieldKey);
// Kiểm tra xem truy vấn xóa đã được gọi đúng số lần và với đúng đối số
verify(featureRuleConfigFieldRepository, times(1)).delete(any());
// Kiểm tra xem phương thức cập nhật featureRuleConfig đã được gọi đúng số lần và với đúng đối số
verify(featureRuleConfigService, times(2)).updateFeatureRuleConfigById(anyInt(), any());
}
}Editor is loading...
Leave a Comment