Add Serializable Parameter

This commit is contained in:
2019-10-22 11:10:02 +02:00
parent 8eeb1e9e9d
commit dbf5fbcfc5
7 changed files with 81 additions and 23 deletions

View File

@@ -2,6 +2,7 @@ package fr.postgresjson
import fr.postgresjson.connexion.Paginated
import fr.postgresjson.entity.IdEntity
import fr.postgresjson.entity.Parameter
import org.junit.Assert.*
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test
@@ -12,6 +13,8 @@ class ConnectionTest() : TestAbstract() {
private class ObjTest(var name: String) : IdEntity()
private class ObjTest2(var title: String, var test: ObjTest?) : IdEntity()
private class ObjTest3(var first: String, var seconde: String, var third: Int) : IdEntity()
private class ObjTestWithParameterObject(var first: ParameterObject, var seconde: ParameterObject) : IdEntity()
private class ParameterObject(var third: String) : Parameter
@Test
fun getObject() {
@@ -81,6 +84,19 @@ class ConnectionTest() : TestAbstract() {
assertEquals(result.third, 123)
}
@Test
fun `select one with named parameters object`() {
val result: ObjTestWithParameterObject? = connection.selectOne(
"SELECT json_build_object('first', :first::json, 'seconde', :seconde::json)",
mapOf(
"first" to ParameterObject("one"),
"seconde" to ParameterObject("two")
)
)
assertEquals("one", result!!.first.third)
assertEquals("two", result.seconde.third)
}
@Test
fun `select with named parameters`() {
val params: Map<String, Any?> = mapOf(