Untitled
unknown
plain_text
2 years ago
4.4 kB
4
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