Skip to content

Commit

Permalink
#195 - Add test for Update with multiple assignments.
Browse files Browse the repository at this point in the history
  • Loading branch information
mp911de committed Dec 6, 2019
1 parent 4558879 commit d9e425a
Showing 1 changed file with 16 additions and 3 deletions.
Expand Up @@ -22,14 +22,12 @@
import java.util.stream.Collectors;

import org.junit.Test;

import org.springframework.data.r2dbc.convert.MappingR2dbcConverter;
import org.springframework.data.r2dbc.convert.R2dbcConverter;
import org.springframework.data.r2dbc.dialect.BindMarkersFactory;
import org.springframework.data.r2dbc.dialect.BindTarget;
import org.springframework.data.r2dbc.mapping.SettableValue;
import org.springframework.data.r2dbc.query.BoundAssignments;
import org.springframework.data.r2dbc.query.Update;
import org.springframework.data.r2dbc.query.UpdateMapper;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
import org.springframework.data.relational.core.sql.AssignValue;
Expand Down Expand Up @@ -91,6 +89,21 @@ public void shouldUpdateToNull() {
verifyZeroInteractions(bindTarget);
}

@Test // gh-195
public void shouldMapMultipleFields() {

Update update = Update.update("c1", "a").set("c2", "b").set("c3", "c");

BoundAssignments mapped = map(update);

Map<String, Expression> assignments = mapped.getAssignments().stream().map(it -> (AssignValue) it)
.collect(Collectors.toMap(k -> k.getColumn().getName(), AssignValue::getValue));

assertThat(update.getAssignments()).hasSize(3);
assertThat(assignments).hasSize(3).containsEntry("c1", SQL.bindMarker("$1")).containsEntry("c2",
SQL.bindMarker("$2"));
}

private BoundAssignments map(Update update) {

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

0 comments on commit d9e425a

Please sign in to comment.