Skip to content

Commit 685e797

Browse files
committed
Another Type Handler Test
1 parent 3e8c9c4 commit 685e797

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTest.kt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,10 @@ class CanonicalSpringKotlinTest {
943943
" where id = :p3"
944944
)
945945

946+
assertThat(updateStatement.parameters).containsEntry("p1", "Sam")
947+
assertThat(updateStatement.parameters).containsEntry("p2", null)
948+
assertThat(updateStatement.parameters).containsEntry("p3", 3)
949+
946950
val rows = template.update(updateStatement)
947951

948952
assertThat(rows).isEqualTo(1)
@@ -957,4 +961,40 @@ class CanonicalSpringKotlinTest {
957961
assertThat(returnedRecord).isNotNull()
958962
assertThat(returnedRecord!!.lastName).isNull()
959963
}
964+
965+
@Test
966+
fun testUpdateWithTypeConverterAndNonNullValue() {
967+
val record = PersonRecord(id = 3, firstName = "Sam", lastName = LastName("Smith"))
968+
969+
val updateStatement = update(Person) {
970+
set(firstName).equalTo(record::firstName)
971+
set(lastName).equalTo(record::lastName)
972+
where(id, isEqualTo(record::id))
973+
}
974+
975+
assertThat(updateStatement.updateStatement).isEqualTo(
976+
"update Person" +
977+
" set first_name = :p1," +
978+
" last_name = :p2" +
979+
" where id = :p3"
980+
)
981+
982+
assertThat(updateStatement.parameters).containsEntry("p1", "Sam")
983+
assertThat(updateStatement.parameters).containsEntry("p2", "Smith")
984+
assertThat(updateStatement.parameters).containsEntry("p3", 3)
985+
986+
val rows = template.update(updateStatement)
987+
988+
assertThat(rows).isEqualTo(1)
989+
990+
val selectStatement = select(
991+
id, firstName, lastName, birthDate, employed, occupation, addressId
992+
).from(Person) {
993+
where(id, isEqualTo(record::id))
994+
}
995+
996+
val returnedRecord = template.selectOne(selectStatement, ::personRowMapper)
997+
assertThat(returnedRecord).isNotNull()
998+
assertThat(returnedRecord!!.lastName?.name).isEqualTo("Smith")
999+
}
9601000
}

0 commit comments

Comments
 (0)