From f03b7f5f93829d6db0e153a179e37c7bd2e66799 Mon Sep 17 00:00:00 2001 From: Paulo Ferreira Date: Mon, 3 Aug 2020 20:09:44 -0300 Subject: [PATCH] ImportedQuery --- .../repository/CustomerRepository.java | 2 +- .../repository/ImportedQueryRepository.java | 17 +++++++++++++++++ .../repository/query/ArangoAqlQueryTest.java | 12 ++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/test/java/com/arangodb/springframework/repository/ImportedQueryRepository.java diff --git a/src/test/java/com/arangodb/springframework/repository/CustomerRepository.java b/src/test/java/com/arangodb/springframework/repository/CustomerRepository.java index 7c2c4c225..e01a8d832 100644 --- a/src/test/java/com/arangodb/springframework/repository/CustomerRepository.java +++ b/src/test/java/com/arangodb/springframework/repository/CustomerRepository.java @@ -37,7 +37,7 @@ * @author Mark Vollmary * @author Christian Lechner */ -public interface CustomerRepository extends ArangoRepository { +public interface CustomerRepository extends ArangoRepository, ImportedQueryRepository{ @Query("FOR c IN customer FILTER c._key == @id RETURN c") Map findOneByIdAqlWithNamedParameter(@Param("id") String idString, AqlQueryOptions options); diff --git a/src/test/java/com/arangodb/springframework/repository/ImportedQueryRepository.java b/src/test/java/com/arangodb/springframework/repository/ImportedQueryRepository.java new file mode 100644 index 000000000..61792a79b --- /dev/null +++ b/src/test/java/com/arangodb/springframework/repository/ImportedQueryRepository.java @@ -0,0 +1,17 @@ +package com.arangodb.springframework.repository; + +import java.util.List; + +import org.springframework.data.repository.NoRepositoryBean; +import org.springframework.data.repository.query.Param; + +import com.arangodb.springframework.annotation.Query; +import com.arangodb.springframework.testdata.Customer; + +@NoRepositoryBean +public interface ImportedQueryRepository { + + @Query("FOR c in #collection FILTER c.surname == @param RETURN c") + List importedQuery(@Param("param") String param); + +} diff --git a/src/test/java/com/arangodb/springframework/repository/query/ArangoAqlQueryTest.java b/src/test/java/com/arangodb/springframework/repository/query/ArangoAqlQueryTest.java index dfd68104e..c059df418 100644 --- a/src/test/java/com/arangodb/springframework/repository/query/ArangoAqlQueryTest.java +++ b/src/test/java/com/arangodb/springframework/repository/query/ArangoAqlQueryTest.java @@ -151,6 +151,18 @@ public void findManyBySurnameTest() { assertTrue(equals(retrieved, toBeRetrieved, cmp, eq, false)); } + + + @Test + public void findManyBySurnameOnImportedQueryTest() { + final List toBeRetrieved = new LinkedList<>(); + toBeRetrieved.add(new Customer("James", "Smith", 35)); + toBeRetrieved.add(new Customer("Matt", "Smith", 34)); + repository.saveAll(toBeRetrieved); + final List retrieved = repository.importedQuery("Smith"); + assertTrue(equals(retrieved, toBeRetrieved, cmp, eq, false)); + + } @Test public void queryCount() {