Skip to content

Commit 787659b

Browse files
committed
convert ArangoOperations.replace() tests
1 parent da34943 commit 787659b

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

src/test/java/com/arangodb/springframework/core/template/ArangoTemplateTest.java

+37-5
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@
2929
import java.util.stream.StreamSupport;
3030

3131
import com.arangodb.entity.*;
32-
import com.arangodb.model.DocumentCreateOptions;
33-
import com.arangodb.model.DocumentDeleteOptions;
34-
import com.arangodb.model.DocumentUpdateOptions;
32+
import com.arangodb.model.*;
3533
import com.fasterxml.jackson.databind.node.ObjectNode;
3634
import org.junit.jupiter.api.Test;
3735
import org.springframework.dao.DataRetrievalFailureException;
@@ -41,7 +39,6 @@
4139
import org.springframework.data.domain.Persistable;
4240

4341
import com.arangodb.ArangoCursor;
44-
import com.arangodb.model.AqlQueryOptions;
4542
import com.arangodb.springframework.AbstractArangoTest;
4643
import com.arangodb.springframework.annotation.Document;
4744
import com.arangodb.springframework.testdata.Address;
@@ -210,6 +207,18 @@ public void replaceDocument() {
210207
assertThat(customer.getAge(), is(26));
211208
}
212209

210+
@Test
211+
public void replaceDocumentReturnNew() {
212+
Customer doc1 = new Customer("John", "Doe", 30);
213+
Customer doc2 = new Customer("Jane", "Doe", 26);
214+
final DocumentEntity res = template.insert(doc1);
215+
Customer replacedDocument = template.replace(res.getId(), doc2, new DocumentReplaceOptions().returnNew(true)).getNew();
216+
assertThat(replacedDocument, is(notNullValue()));
217+
assertThat(replacedDocument.getName(), is(doc2.getName()));
218+
assertThat(replacedDocument.getSurname(), is(doc2.getSurname()));
219+
assertThat(replacedDocument.getAge(), is(doc2.getAge()));
220+
}
221+
213222
@Test
214223
public void replaceDocuments() {
215224
final DocumentEntity a = template.insert(new Product("a"));
@@ -221,7 +230,7 @@ public void replaceDocuments() {
221230
documentB.setName("bb");
222231

223232
final MultiDocumentEntity<? extends DocumentEntity> res = template.replaceAll(Arrays.asList(documentA, documentB),
224-
Product.class);
233+
Product.class);
225234
assertThat(res, is(notNullValue()));
226235
assertThat(res.getDocuments().size(), is(2));
227236

@@ -231,6 +240,29 @@ public void replaceDocuments() {
231240
assertThat(newB.getName(), is("bb"));
232241
}
233242

243+
@Test
244+
public void replaceDocumentsReturnNew() {
245+
final DocumentEntity a = template.insert(new Product("a"));
246+
final DocumentEntity b = template.insert(new Product("b"));
247+
248+
final Product documentA = template.find(a.getId(), Product.class).get();
249+
documentA.setName("aa");
250+
final Product documentB = template.find(b.getId(), Product.class).get();
251+
documentB.setName("bb");
252+
253+
MultiDocumentEntity<DocumentUpdateEntity<Product>> res = template.replaceAll(Arrays.asList(documentA, documentB),
254+
new DocumentReplaceOptions().returnNew(true),
255+
Product.class);
256+
assertThat(res, is(notNullValue()));
257+
assertThat(res.getDocuments().size(), is(2));
258+
259+
Iterator<DocumentUpdateEntity<Product>> it = res.getDocuments().iterator();
260+
final Product newA = it.next().getNew();
261+
assertThat(newA.getName(), is("aa"));
262+
final Product newB = it.next().getNew();
263+
assertThat(newB.getName(), is("bb"));
264+
}
265+
234266
@Test
235267
public void updateDocument() {
236268
final DocumentEntity res = template.insert(new Customer("John", "Doe", 30));

0 commit comments

Comments
 (0)