#122 - Polishing.

Add extension for UpdateTableSpec.table. Add tests. Formatting.

Original pull request: #123.
This commit is contained in:
Mark Paluch
2019-05-21 15:52:54 +02:00
parent 9bcaa24707
commit 972bc09606
4 changed files with 64 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2018-2019 the original author or authors.
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,7 +35,6 @@ infix fun Criteria.CriteriaStep.isEquals(value: Any): Criteria =
fun Criteria.CriteriaStep.isIn(vararg value: Any): Criteria =
`in`(value)
/**
* Extension for [Criteria.CriteriaStep.in] providing a
* `isIn(value)` variant.

View File

@@ -16,7 +16,6 @@
package org.springframework.data.r2dbc.core
import kotlinx.coroutines.reactive.awaitFirstOrNull
import org.springframework.data.r2dbc.query.Criteria
/**
* Coroutines variant of [DatabaseClient.GenericExecuteSpec.then].
@@ -55,7 +54,7 @@ suspend fun <T> DatabaseClient.TypedExecuteSpec<T>.await() {
}
/**
* Extension for [DatabaseClient.TypedExecuteSpec.as] providing a
* Extension for [DatabaseClient.TypedExecuteSpec. as] providing a
* `asType<Foo>()` variant.
*
* @author Sebastien Deleuze
@@ -90,6 +89,15 @@ inline fun <reified T : Any> DatabaseClient.InsertIntoSpec.into(): DatabaseClien
inline fun <reified T : Any> DatabaseClient.SelectFromSpec.from(): DatabaseClient.TypedSelectSpec<T> =
from(T::class.java)
/**
* Extension for [DatabaseClient.UpdateTableSpec.table] providing a
* `table<Foo>()` variant.
*
* @author Mark Paluch
*/
inline fun <reified T : Any> DatabaseClient.UpdateTableSpec.table(): DatabaseClient.TypedUpdateSpec<T> =
table(T::class.java)
/**
* Extension for [DatabaseClient.SelectFromSpec.from] providing a
* `from<Foo>()` variant.

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2018-2019 the original author or authors.
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,13 +17,10 @@ package org.springframework.data.r2dbc.core
import io.mockk.every
import io.mockk.mockk
import io.mockk.spyk
import io.mockk.verify
import kotlinx.coroutines.runBlocking
import org.assertj.core.api.Assertions.assertThat
import org.junit.Test
import org.springframework.data.r2dbc.query.Criteria
import reactor.core.publisher.Mono
/**
* Unit tests for [Criteria.CriteriaStep] extensions.
@@ -36,16 +33,44 @@ class CriteriaStepExtensionsTests {
fun eqIsCriteriaStep() {
val spec = mockk<Criteria.CriteriaStep>()
val eqSpec = mockk<Criteria>()
val criteria = mockk<Criteria>()
every { spec.`is`("test") } returns eqSpec
every { spec.`is`("test") } returns criteria
runBlocking {
assertThat(spec isEquals "test").isEqualTo(eqSpec)
}
assertThat(spec isEquals "test").isEqualTo(criteria)
verify {
spec.`is`("test")
}
}
@Test // gh-122
fun inVarargCriteriaStep() {
val spec = mockk<Criteria.CriteriaStep>()
val criteria = mockk<Criteria>()
every { spec.`in`(any() as Array<Any>) } returns criteria
assertThat(spec.isIn("test")).isEqualTo(criteria)
verify {
spec.`in`(arrayOf("test"))
}
}
@Test // gh-122
fun inListCriteriaStep() {
val spec = mockk<Criteria.CriteriaStep>()
val criteria = mockk<Criteria>()
every { spec.`in`(listOf("test")) } returns criteria
assertThat(spec.isIn(listOf("test"))).isEqualTo(criteria)
verify {
spec.`in`(listOf("test"))
}
}
}

View File

@@ -17,12 +17,10 @@ package org.springframework.data.r2dbc.core
import io.mockk.every
import io.mockk.mockk
import io.mockk.spyk
import io.mockk.verify
import kotlinx.coroutines.runBlocking
import org.assertj.core.api.Assertions.assertThat
import org.junit.Test
import org.springframework.data.r2dbc.query.Criteria
import reactor.core.publisher.Mono
/**
@@ -30,6 +28,7 @@ import reactor.core.publisher.Mono
*
* @author Sebastien Deleuze
* @author Jonas Bark
* @author Mark Paluch
*/
class DatabaseClientExtensionsTests {
@@ -142,15 +141,13 @@ class DatabaseClientExtensionsTests {
}
@Test // gh-122
fun selectFromSpecInto() {
fun selectFromSpecFrom() {
val spec = mockk<DatabaseClient.SelectFromSpec>()
val typedSpec: DatabaseClient.TypedSelectSpec<String> = mockk()
every { spec.from(String::class.java) } returns typedSpec
runBlocking {
assertThat(spec.from<String>()).isEqualTo(typedSpec)
}
assertThat(spec.from<String>()).isEqualTo(typedSpec)
verify {
spec.from(String::class.java)
@@ -158,15 +155,27 @@ class DatabaseClientExtensionsTests {
}
@Test // gh-122
fun deleteFromSpecInto() {
fun updateTableSpecTable() {
val spec = mockk<DatabaseClient.UpdateTableSpec>()
val typedSpec: DatabaseClient.TypedUpdateSpec<String> = mockk()
every { spec.table(String::class.java) } returns typedSpec
assertThat(spec.table<String>()).isEqualTo(typedSpec)
verify {
spec.table(String::class.java)
}
}
@Test // gh-122
fun deleteFromSpecFrom() {
val spec = mockk<DatabaseClient.DeleteFromSpec>()
val typedSpec: DatabaseClient.TypedDeleteSpec<String> = mockk()
every { spec.from(String::class.java) } returns typedSpec
runBlocking {
assertThat(spec.from<String>()).isEqualTo(typedSpec)
}
assertThat(spec.from<String>()).isEqualTo(typedSpec)
verify {
spec.from(String::class.java)