DATACMNS-1802 - Add support for suspend repository query methods returning List<T>.

We now support returning List<T> from a suspended repository query method to simplify consumption of collection queries.
This commit is contained in:
Mark Paluch
2020-09-22 14:34:47 +02:00
parent af00979784
commit 82cb36f727
4 changed files with 38 additions and 9 deletions

View File

@@ -266,6 +266,26 @@ class CoroutineCrudRepositoryUnitTests {
assertThat(emptyResult).isEmpty()
}
@Test // DATACMNS-1802
fun shouldBridgeSuspendedAsListMethod() {
val sample = User()
Mockito.`when`(factory.queryOne.execute(arrayOf("foo", null))).thenReturn(Flux.just(sample), Flux.empty<User>())
val result = runBlocking {
coRepository.findSuspendedAsList("foo")
}
assertThat(result).hasSize(1).containsOnly(sample)
val emptyResult = runBlocking {
coRepository.findSuspendedAsList("foo")
}
assertThat(emptyResult).isEmpty()
}
interface MyCoRepository : CoroutineCrudRepository<User, String> {
suspend fun findOne(id: String): User
@@ -273,5 +293,7 @@ class CoroutineCrudRepositoryUnitTests {
fun findMultiple(id: String): Flow<User>
suspend fun findSuspendedMultiple(id: String): Flow<User>
suspend fun findSuspendedAsList(id: String): List<User>
}
}