diff --git a/app/graphql/resolvers/concerns/looks_ahead.rb b/app/graphql/resolvers/concerns/looks_ahead.rb index 1d532eb24862544cdc51c5290d4dede3d552c3be..8d3a846310a933638202e7dd38aadf50df2f6443 100644 --- a/app/graphql/resolvers/concerns/looks_ahead.rb +++ b/app/graphql/resolvers/concerns/looks_ahead.rb @@ -67,6 +67,7 @@ def preloads_from_node_selection(selected_fields, fields) def node_selection(selection = lookahead) return selection unless selection&.selected? + return selection if selection.field.type.list? return selection.selection(:edges).selection(:node) if selection.selects?(:edges) # Will return a NullSelection object if :nodes is not a selection. This diff --git a/ee/spec/requests/api/graphql/namespace/work_item_types_spec.rb b/ee/spec/requests/api/graphql/namespace/work_item_types_spec.rb index fd2d83e7c3a88d927aa8d30fdd0d740fa14d7098..4e2862bfd6c2c18eec296c7bef5577eabef7135c 100644 --- a/ee/spec/requests/api/graphql/namespace/work_item_types_spec.rb +++ b/ee/spec/requests/api/graphql/namespace/work_item_types_spec.rb @@ -90,7 +90,7 @@ ... on WorkItemWidgetDefinitionCustomFields { customFields { id - createdBy { name } + selectOptions { value } } } } diff --git a/spec/support/helpers/graphql_helpers.rb b/spec/support/helpers/graphql_helpers.rb index 58ecfc26c7f34f4a887b5f11fc8be655b7fba4a4..a17a27a9014dd42e6986db7b1f4cdddc91db6b3f 100644 --- a/spec/support/helpers/graphql_helpers.rb +++ b/spec/support/helpers/graphql_helpers.rb @@ -893,6 +893,7 @@ def positive_lookahead allow(selection).to receive(:selection).and_return(selection) allow(selection).to receive(:selections).and_return(selection) allow(selection).to receive(:map).and_return(double(include?: true)) + allow(selection).to receive_message_chain(:field, :type, :list?).and_return(false) end end