Skip to content

Commit cdf49a0

Browse files
committed
Polishing.
Add unit test. See #587.
1 parent 30de95e commit cdf49a0

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

src/test/java/org/springframework/data/r2dbc/repository/query/PreparedOperationBindableQueryUnitTests.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@
1818
import static org.assertj.core.api.Assertions.*;
1919
import static org.mockito.Mockito.*;
2020

21-
import org.junit.Ignore;
2221
import org.junit.jupiter.api.Test;
2322
import org.junit.jupiter.api.extension.ExtendWith;
2423
import org.mockito.Mock;
2524
import org.mockito.junit.jupiter.MockitoExtension;
2625

2726
import org.springframework.r2dbc.core.DatabaseClient;
2827
import org.springframework.r2dbc.core.PreparedOperation;
28+
import org.springframework.r2dbc.core.binding.BindTarget;
2929

3030
/**
3131
* Unit tests for {@link PreparedOperationBindableQuery}.
@@ -34,19 +34,35 @@
3434
* @author Marl Paluch
3535
*/
3636
@ExtendWith(MockitoExtension.class)
37-
@Ignore
3837
class PreparedOperationBindableQueryUnitTests {
3938

4039
@Mock PreparedOperation<?> preparedOperation;
4140

42-
@Test // gh-282
41+
@Test // gh-282, gh-587
4342
void bindsQueryParameterValues() {
4443

45-
DatabaseClient.GenericExecuteSpec bindSpecMock = mock(DatabaseClient.GenericExecuteSpec.class);
44+
DatabaseClient.GenericExecuteSpec bindSpecMock = mock(DatabaseClient.GenericExecuteSpec.class, RETURNS_SELF);
45+
46+
doAnswer(it -> {
47+
48+
BindTarget target = it.getArgument(0);
49+
50+
target.bind(0, "hello");
51+
target.bind("foo", "world");
52+
target.bindNull(1, String.class);
53+
target.bindNull("bar", Integer.class);
54+
55+
return null;
56+
}).when(preparedOperation).bindTo(any());
4657

4758
PreparedOperationBindableQuery query = new PreparedOperationBindableQuery(preparedOperation);
48-
query.bind(bindSpecMock);
59+
DatabaseClient.GenericExecuteSpec bind = query.bind(bindSpecMock);
60+
4961
verify(preparedOperation, times(1)).bindTo(any());
62+
verify(bindSpecMock).bind(0, "hello");
63+
verify(bindSpecMock).bind("foo", "world");
64+
verify(bindSpecMock).bindNull(1, String.class);
65+
verify(bindSpecMock).bindNull("bar", Integer.class);
5066
}
5167

5268
@Test // gh-282

0 commit comments

Comments
 (0)