diff --git a/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/MongoOperationsExtensionsTests.kt b/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/MongoOperationsExtensionsTests.kt index 1fc68c85c..7c3a10e96 100644 --- a/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/MongoOperationsExtensionsTests.kt +++ b/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/MongoOperationsExtensionsTests.kt @@ -319,6 +319,27 @@ class MongoOperationsExtensionsTests { verify { operations.findAndModify(query, update, options, First::class.java) } } + @Test // GH-5128 + fun `findAndModify(Query, Update) with reified type parameter extension should call its Java counterpart`() { + + val query = mockk() + val update = mockk() + + operations.findAndModify(query, update) + verify { operations.findAndModify(query, update, First::class.java) } + } + + @Test // GH-5128 + fun `findAndModify(Query, Update, String) with reified type parameter extension should call its Java counterpart`() { + + val collectionName = "foo" + val query = mockk() + val update = mockk() + + operations.findAndModify(query, update, collectionName) + verify { operations.findAndModify(query, update, First::class.java, collectionName) } + } + @Test // DATAMONGO-1689 fun `findAndModify(Query, Update, FindAndModifyOptions, String) with reified type parameter extension should call its Java counterpart`() { diff --git a/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/ReactiveMongoOperationsExtensionsTests.kt b/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/ReactiveMongoOperationsExtensionsTests.kt index 386e1aae5..07b5a0da4 100644 --- a/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/ReactiveMongoOperationsExtensionsTests.kt +++ b/spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/ReactiveMongoOperationsExtensionsTests.kt @@ -162,6 +162,27 @@ class ReactiveMongoOperationsExtensionsTests { verify { operations.findById(id, First::class.java, collectionName) } } + @Test // GH-5128 + fun `findAndModify(Query, Update) with reified type parameter extension should call its Java counterpart`() { + + val query = mockk() + val update = mockk() + + operations.findAndModify(query, update) + verify { operations.findAndModify(query, update, First::class.java) } + } + + @Test // GH-5128 + fun `findAndModify(Query, Update, String) with reified type parameter extension should call its Java counterpart`() { + + val collectionName = "foo" + val query = mockk() + val update = mockk() + + operations.findAndModify(query, update, collectionName) + verify { operations.findAndModify(query, update, First::class.java, collectionName) } + } + @Test // DATAMONGO-1689 fun `findAndModify(Query, Update, FindAndModifyOptions) with reified type parameter extension should call its Java counterpart`() {