This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit c985e92f565fbd4d26868334e5e0d1d7e94455e4
Author: danhaywood <[email protected]>
AuthorDate: Fri Jan 26 08:38:25 2024 +0000

    CAUSEWAY-3676: tests autocomplete for params
---
 .../model/domain/GqlvActionParamAutoComplete.java     |  3 ++-
 .../viewer/test/domain/DeptHeadRepository.java        |  6 +++---
 ...find_department_and_change_head_autocomplete._.gql | 19 +++++++++++++++++++
 ...artment_and_change_head_autocomplete.approved.json |  0
 .../graphql/viewer/test/e2e/Domain_IntegTest.java     |  8 ++++++++
 5 files changed, 32 insertions(+), 4 deletions(-)

diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
index 444a240012..c975d2fcb5 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
@@ -110,7 +110,8 @@ package org.apache.causeway.viewer.graphql.model.domain;
 
          val managedAction = ManagedAction.of(managedObject, objectAction, 
Where.ANYWHERE);
          val pendingArgs = ParameterNegotiationModel.of(managedAction, 
argumentManagedObjects);
-         val autoCompleteChoices = 
objectActionParameter.getAutoComplete(pendingArgs, 
dataFetchingEnvironment.getArgument(SEARCH_PARAM_NAME), 
InteractionInitiatedBy.USER);
+         String searchArg = 
dataFetchingEnvironment.getArgument(SEARCH_PARAM_NAME);
+         val autoCompleteChoices = 
objectActionParameter.getAutoComplete(pendingArgs, searchArg, 
InteractionInitiatedBy.USER);
 
          return autoCompleteChoices.stream()
                     .map(ManagedObject::getPojo)
diff --git 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
index f13fa05e7b..f7cf8e16a6 100644
--- 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
+++ 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
@@ -19,6 +19,7 @@
 package org.apache.causeway.viewer.graphql.viewer.test.domain;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
@@ -55,11 +56,10 @@ public class DeptHeadRepository {
                 orElse(null);
     }
 
-    public DeptHead findByNameContaining(final String name){
+    public List<DeptHead> findByNameContaining(final String name){
         return findAll().stream().
                 filter(deptHead -> deptHead.getName().contains(name)).
-                findFirst().
-                orElse(null);
+                collect(Collectors.toList());
     }
 
 }
diff --git 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_head_autocomplete._.gql
 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_head_autocomplete._.gql
new file mode 100644
index 0000000000..b2b2b40af3
--- /dev/null
+++ 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_head_autocomplete._.gql
@@ -0,0 +1,19 @@
+{
+  university_dept_Departments {
+    findByName {
+      invoke(name: "Classics") {
+        changeDeptHead {
+          params {
+            newDeptHead {
+              autoComplete(search: "Ho") {
+                name {
+                  get
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_head_autocomplete.approved.json
 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_head_autocomplete.approved.json
new file mode 100644
index 0000000000..e69de29bb2
diff --git 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
index dd646258fc..05c35ffda2 100644
--- 
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
+++ 
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
@@ -193,6 +193,14 @@ public class Domain_IntegTest extends 
CausewayViewerGraphqlTestModuleIntegTestAb
         Approvals.verify(submit(), jsonOptions());
     }
 
+    @Test
+    @UseReporter(DiffReporter.class)
+    void find_department_and_change_head_autocomplete() throws Exception {
+
+        // when, then
+        Approvals.verify(submit(), jsonOptions());
+    }
+
     @Test
     @UseReporter(DiffReporter.class)
     void create_staff_member_with_department() throws Exception {

Reply via email to