Код: Выделить всё
@Override
default void customize(QuerydslBindings bindings, QGenericClass root) {
bindings.bind(String.class)
.first((SingleValueBinding) StringExpression::containsIgnoreCase);
}
Код: Выделить всё
@Test
void testCustomize() {
QuerydslBindings bindings = mock(QuerydslBindings.class);
QGenericClass qGenericClass = mock(QGenericClass .class);
genericClassRepository.customize(bindings, qGenericClass);
ArgumentCaptor captor = ArgumentCaptor.forClass(SingleValueBinding.class);
verify(bindings).bind(eq(String.class), captor.capture());
SingleValueBinding binding = captor.getValue();
assertNotNull(binding);
StringPath stringPath = mock(StringPath.class);
when(stringPath.containsIgnoreCase(any())).thenReturn(mock(StringExpression.class));
binding.bind(stringPath, () -> "testValue");
verify(stringPath).containsIgnoreCase("testValue");
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-data-jpa