Spring data. Example#
Может быть выполнено, если интерфейс-репозиторий расширяет один или несколько из перечисленных:
Возможности данной операции аналогичны возможностям операции выбора по id.
Example. Выбор записи.#
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.springframework.data.domain.ExampleMatcher.matchingAny;
import static ru.tinkoff.qa.neptune.spring.data.SpringDataContext.springData;
import static ru.tinkoff.qa.neptune.spring.data.select.common.CommonSelectStepFactory.byExample;
@SpringBootTest
public class MyTest {
@Autowired
private TestRepository testRepository;
@Test
public void myTest() {
TestEntity entity = springData().find(
//описание того ЧТО выбирается,
//в свободной форме или бизнес
//терминологии
"Test entity",
byExample(testRepository,
new TestEntity().setId(10L).setName("Something"))
//опционально,
.matcher(m -> m.withMatcher("id", exact()))
//параметры проверки свойств
.matcher(m -> m.withMatcher("name", ignoreCase()))
.initialMatcher(matchingAny())
//
//Необходимые параметры
//
);
}
}
Example. Выбор записей.#
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.springframework.data.domain.ExampleMatcher.matchingAny;
import static org.springframework.data.domain.Sort.Direction.ASC;
import static ru.tinkoff.qa.neptune.spring.data.SpringDataContext.springData;
import static ru.tinkoff.qa.neptune.spring.data.select.common.CommonSelectStepFactory.allByExample;
@SpringBootTest
public class MyTest {
@Autowired
private TestRepository testRepository;
@Test
public void myTest() {
List<TestEntity> entities = springData().find(
//описание того ЧТО выбирается,
//в свободной форме или бизнес
//терминологии
"Test entities",
allByExample(testRepository,
new TestEntity().setId(10L).setName("Something"))
//опционально,
.matcher(m -> m.withMatcher("id", exact()))
//параметры проверки свойств
.matcher(m -> m.withMatcher("name", ignoreCase()))
//опционально, вариант сортировки
.sorting(ASC, "id", "name")
//опционально, исходный объект ExampleMatcher,
// от которого выстраивается критерий отбора
.initialMatcher(matchingAny())
//
//Необходимые параметры
//
);
}
}