Skip to content

Commit d9e425a

Browse files
committed
#195 - Add test for Update with multiple assignments.
1 parent 4558879 commit d9e425a

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/test/java/org/springframework/data/r2dbc/query/UpdateMapperUnitTests.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,12 @@
2222
import java.util.stream.Collectors;
2323

2424
import org.junit.Test;
25+
2526
import org.springframework.data.r2dbc.convert.MappingR2dbcConverter;
2627
import org.springframework.data.r2dbc.convert.R2dbcConverter;
2728
import org.springframework.data.r2dbc.dialect.BindMarkersFactory;
2829
import org.springframework.data.r2dbc.dialect.BindTarget;
2930
import org.springframework.data.r2dbc.mapping.SettableValue;
30-
import org.springframework.data.r2dbc.query.BoundAssignments;
31-
import org.springframework.data.r2dbc.query.Update;
32-
import org.springframework.data.r2dbc.query.UpdateMapper;
3331
import org.springframework.data.relational.core.mapping.Column;
3432
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
3533
import org.springframework.data.relational.core.sql.AssignValue;
@@ -91,6 +89,21 @@ public void shouldUpdateToNull() {
9189
verifyZeroInteractions(bindTarget);
9290
}
9391

92+
@Test // gh-195
93+
public void shouldMapMultipleFields() {
94+
95+
Update update = Update.update("c1", "a").set("c2", "b").set("c3", "c");
96+
97+
BoundAssignments mapped = map(update);
98+
99+
Map<String, Expression> assignments = mapped.getAssignments().stream().map(it -> (AssignValue) it)
100+
.collect(Collectors.toMap(k -> k.getColumn().getName(), AssignValue::getValue));
101+
102+
assertThat(update.getAssignments()).hasSize(3);
103+
assertThat(assignments).hasSize(3).containsEntry("c1", SQL.bindMarker("$1")).containsEntry("c2",
104+
SQL.bindMarker("$2"));
105+
}
106+
94107
private BoundAssignments map(Update update) {
95108

96109
BindMarkersFactory markers = BindMarkersFactory.indexed("$", 1);

0 commit comments

Comments
 (0)