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 {
