diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md
index ea0179131c46fb4a3c342ccc4cdbaae382d4927b..49097d31e830b00af421ba1b5be8a6e2ccdd0822 100644
--- a/doc/api/graphql/reference/_index.md
+++ b/doc/api/graphql/reference/_index.md
@@ -256,47 +256,47 @@ This field returns a [connection](#connections). It accepts the
four standard [pagination arguments](#pagination-arguments):
`before: String`, `after: String`, `first: Int`, and `last: Int`.
-### `Query.aiCatalogItem`
+### `Query.aiCatalogConfiguredItems`
{{< details >}}
**Introduced** in GitLab 18.2.
**Status**: Experiment.
{{< /details >}}
-Find an AI Catalog item.
+AI Catalog items configured for use.
-Returns [`AiCatalogItem`](#aicatalogitem).
+Returns [`AiCatalogItemConsumerConnection!`](#aicatalogitemconsumerconnection).
+
+This field returns a [connection](#connections). It accepts the
+four standard [pagination arguments](#pagination-arguments):
+`before: String`, `after: String`, `first: Int`, and `last: Int`.
#### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
-| `id` | [`AiCatalogItemID!`](#aicatalogitemid) | Global ID of the catalog item to find. |
+| `groupId` | [`GroupID`](#groupid) | Group ID to retrieve configured AI Catalog items for. |
+| `includeInherited` | [`Boolean`](#boolean) | Include configured AI Catalog items inherited from parent groups. |
+| `itemId` | [`AiCatalogItemID`](#aicatalogitemid) | Item ID to retrieve configured AI Catalog items for. |
+| `itemType` | [`AiCatalogItemType`](#aicatalogitemtype) | Type of items to retrieve. |
+| `projectId` | [`ProjectID`](#projectid) | Project ID to retrieve configured AI Catalog items for. |
-### `Query.aiCatalogItemConsumers`
+### `Query.aiCatalogItem`
{{< details >}}
**Introduced** in GitLab 18.2.
**Status**: Experiment.
{{< /details >}}
-AI Catalog items configured for use.
-
-Returns [`AiCatalogItemConsumerConnection!`](#aicatalogitemconsumerconnection).
+Find an AI Catalog item.
-This field returns a [connection](#connections). It accepts the
-four standard [pagination arguments](#pagination-arguments):
-`before: String`, `after: String`, `first: Int`, and `last: Int`.
+Returns [`AiCatalogItem`](#aicatalogitem).
#### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
-| `groupId` | [`GroupID`](#groupid) | Group ID to retrieve configured AI Catalog items for. |
-| `includeInherited` | [`Boolean`](#boolean) | Include configured AI Catalog items inherited from parent groups. |
-| `itemId` | [`AiCatalogItemID`](#aicatalogitemid) | Item ID to retrieve configured AI Catalog items for. |
-| `itemType` | [`AiCatalogItemType`](#aicatalogitemtype) | Type of items to retrieve. |
-| `projectId` | [`ProjectID`](#projectid) | Project ID to retrieve configured AI Catalog items for. |
+| `id` | [`AiCatalogItemID!`](#aicatalogitemid) | Global ID of the catalog item to find. |
### `Query.aiCatalogItems`
diff --git a/ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql b/ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql
similarity index 88%
rename from ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql
rename to ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql
index aff1e4c565259320453507bb94e9fedcae0d669b..dad71ab432f112f21c0b0a925c1c73f6a2ba63d9 100644
--- a/ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql
+++ b/ee/app/assets/javascripts/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql
@@ -1,7 +1,7 @@
#import "~/graphql_shared/fragments/page_info.fragment.graphql"
#import "../fragments/ai_catalog_item_consumer.fragment.graphql"
-query aiCatalogItemConsumers(
+query aiCatalogConfiguredItems(
$itemType: AiCatalogItemType
$projectId: ProjectID!
$before: String
@@ -9,7 +9,7 @@ query aiCatalogItemConsumers(
$first: Int
$last: Int
) {
- aiCatalogItemConsumers(
+ aiCatalogConfiguredItems(
itemType: $itemType
projectId: $projectId
before: $before
diff --git a/ee/app/assets/javascripts/ai/duo_agentic_chat/components/app.vue b/ee/app/assets/javascripts/ai/duo_agentic_chat/components/app.vue
index 3f6e0da8bebe19f7fd4eb7da6df413442054151a..082c2b360ad3ddc46975375ce75e041e63c61eed 100644
--- a/ee/app/assets/javascripts/ai/duo_agentic_chat/components/app.vue
+++ b/ee/app/assets/javascripts/ai/duo_agentic_chat/components/app.vue
@@ -165,7 +165,7 @@ export default {
};
},
update(data) {
- return (data?.aiCatalogItemConsumers.nodes || []).map((agent) => agent.item);
+ return (data?.aiCatalogConfiguredItems.nodes || []).map((agent) => agent.item);
},
error(err) {
this.onError(err);
diff --git a/ee/app/assets/javascripts/ai/duo_agents_platform/pages/agents/ai_agents.vue b/ee/app/assets/javascripts/ai/duo_agents_platform/pages/agents/ai_agents.vue
index 685c54c5763d57cedd8f7cb5422020b2761837f6..593e8a3c18d26fbea81233a72515fc01b9dc5846 100644
--- a/ee/app/assets/javascripts/ai/duo_agents_platform/pages/agents/ai_agents.vue
+++ b/ee/app/assets/javascripts/ai/duo_agents_platform/pages/agents/ai_agents.vue
@@ -10,7 +10,7 @@ import PageHeading from '~/vue_shared/components/page_heading.vue';
import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue';
import AiCatalogList from 'ee/ai/catalog/components/ai_catalog_list.vue';
import AiCatalogItemDrawer from 'ee/ai/catalog/components/ai_catalog_item_drawer.vue';
-import aiCatalogItemConsumersQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql';
+import aiCatalogConfiguredItemsQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql';
import aiCatalogAgentQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_agent.query.graphql';
import deleteAiCatalogItemConsumer from 'ee/ai/catalog/graphql/mutations/delete_ai_catalog_item_consumer.mutation.graphql';
import { AI_CATALOG_TYPE_AGENT, PAGE_SIZE } from 'ee/ai/catalog/constants';
@@ -41,7 +41,7 @@ export default {
},
apollo: {
aiAgents: {
- query: aiCatalogItemConsumersQuery,
+ query: aiCatalogConfiguredItemsQuery,
variables() {
return {
itemType: AI_CATALOG_TYPE_AGENT,
@@ -53,9 +53,9 @@ export default {
};
},
fetchPolicy: fetchPolicies.CACHE_AND_NETWORK,
- update: (data) => data.aiCatalogItemConsumers.nodes,
+ update: (data) => data.aiCatalogConfiguredItems.nodes,
result({ data }) {
- this.pageInfo = data.aiCatalogItemConsumers.pageInfo;
+ this.pageInfo = data.aiCatalogConfiguredItems.pageInfo;
},
},
aiCatalogAgent: {
@@ -151,7 +151,7 @@ export default {
variables: {
id,
},
- refetchQueries: [aiCatalogItemConsumersQuery],
+ refetchQueries: [aiCatalogConfiguredItemsQuery],
});
if (!data.aiCatalogItemConsumerDelete.success) {
diff --git a/ee/app/assets/javascripts/ai/duo_agents_platform/pages/flows/ai_flows.vue b/ee/app/assets/javascripts/ai/duo_agents_platform/pages/flows/ai_flows.vue
index b73db90f942eb1f80101c733d41362977a2ac61a..26c3f90862c87a6d573f050b30680829f547dcae 100644
--- a/ee/app/assets/javascripts/ai/duo_agents_platform/pages/flows/ai_flows.vue
+++ b/ee/app/assets/javascripts/ai/duo_agents_platform/pages/flows/ai_flows.vue
@@ -11,7 +11,7 @@ import PageHeading from '~/vue_shared/components/page_heading.vue';
import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue';
import AiCatalogList from 'ee/ai/catalog/components/ai_catalog_list.vue';
import AiCatalogItemDrawer from 'ee/ai/catalog/components/ai_catalog_item_drawer.vue';
-import aiCatalogItemConsumersQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql';
+import aiCatalogConfiguredItemsQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql';
import aiCatalogFlowQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_flow.query.graphql';
import deleteAiCatalogItemConsumer from 'ee/ai/catalog/graphql/mutations/delete_ai_catalog_item_consumer.mutation.graphql';
import { AI_CATALOG_TYPE_FLOW, PAGE_SIZE } from 'ee/ai/catalog/constants';
@@ -43,7 +43,7 @@ export default {
},
apollo: {
aiFlows: {
- query: aiCatalogItemConsumersQuery,
+ query: aiCatalogConfiguredItemsQuery,
variables() {
return {
itemType: AI_CATALOG_TYPE_FLOW,
@@ -55,9 +55,9 @@ export default {
};
},
fetchPolicy: fetchPolicies.CACHE_AND_NETWORK,
- update: (data) => data.aiCatalogItemConsumers.nodes,
+ update: (data) => data.aiCatalogConfiguredItems.nodes,
result({ data }) {
- this.pageInfo = data.aiCatalogItemConsumers.pageInfo;
+ this.pageInfo = data.aiCatalogConfiguredItems.pageInfo;
},
},
aiCatalogFlow: {
@@ -168,7 +168,7 @@ export default {
variables: {
id,
},
- refetchQueries: [aiCatalogItemConsumersQuery],
+ refetchQueries: [aiCatalogConfiguredItemsQuery],
});
if (!data.aiCatalogItemConsumerDelete.success) {
diff --git a/ee/app/assets/javascripts/ai/graphql/get_configured_agents.query.graphql b/ee/app/assets/javascripts/ai/graphql/get_configured_agents.query.graphql
index 5e5b80182915cbf785eb07b0ce7c670440e4f0f8..5bcdcd63d0c01a1835d034c761bb292c16ab61d0 100644
--- a/ee/app/assets/javascripts/ai/graphql/get_configured_agents.query.graphql
+++ b/ee/app/assets/javascripts/ai/graphql/get_configured_agents.query.graphql
@@ -1,5 +1,5 @@
query getConfiguredAgents($projectId: ProjectID, $groupId: GroupID) {
- aiCatalogItemConsumers(projectId: $projectId, groupId: $groupId, itemType: AGENT) {
+ aiCatalogConfiguredItems(projectId: $projectId, groupId: $groupId, itemType: AGENT) {
nodes {
id
item {
diff --git a/ee/app/graphql/ee/types/query_type.rb b/ee/app/graphql/ee/types/query_type.rb
index 6c047a64b781bc50b88f28ebab0dd6e22dfa1008..e476821f79f4f2b06496b13aed9a792cc7aeaa03 100644
--- a/ee/app/graphql/ee/types/query_type.rb
+++ b/ee/app/graphql/ee/types/query_type.rb
@@ -69,8 +69,8 @@ module QueryType
required: false,
description: 'Runner ID to retrieve data for.'
end
- field :ai_catalog_item_consumers,
- resolver: ::Resolvers::Ai::Catalog::ItemConsumersResolver,
+ field :ai_catalog_configured_items,
+ resolver: ::Resolvers::Ai::Catalog::ConfiguredItemsResolver,
null: false,
description: 'AI Catalog items configured for use.',
experiment: { milestone: '18.2' }
diff --git a/ee/app/graphql/resolvers/ai/catalog/item_consumers_resolver.rb b/ee/app/graphql/resolvers/ai/catalog/configured_items_resolver.rb
similarity index 97%
rename from ee/app/graphql/resolvers/ai/catalog/item_consumers_resolver.rb
rename to ee/app/graphql/resolvers/ai/catalog/configured_items_resolver.rb
index 65c85f09fa300a8811cb6bcea6779a224b1aeb55..a270d4f9199dc01c7be483bc4747bb8c6f286129 100644
--- a/ee/app/graphql/resolvers/ai/catalog/item_consumers_resolver.rb
+++ b/ee/app/graphql/resolvers/ai/catalog/configured_items_resolver.rb
@@ -3,7 +3,7 @@
module Resolvers
module Ai
module Catalog
- class ItemConsumersResolver < BaseResolver
+ class ConfiguredItemsResolver < BaseResolver
description 'Find AI Catalog items configured for use.'
type ::Types::Ai::Catalog::ItemConsumerType.connection_type, null: false
diff --git a/ee/spec/frontend/ai/catalog/mock_data.js b/ee/spec/frontend/ai/catalog/mock_data.js
index 0f8af9c458458551339e53c5c29c8e658fb88e35..51ffe2cffc95a67ecc2e5399165203dce39c0a98 100644
--- a/ee/spec/frontend/ai/catalog/mock_data.js
+++ b/ee/spec/frontend/ai/catalog/mock_data.js
@@ -452,7 +452,7 @@ export const mockBaseItemConsumer = {
export const mockConfiguredAgentsResponse = {
data: {
- aiCatalogItemConsumers: {
+ aiCatalogConfiguredItems: {
nodes: [
{
...mockBaseItemConsumer,
@@ -467,7 +467,7 @@ export const mockConfiguredAgentsResponse = {
export const mockConfiguredFlowsResponse = {
data: {
- aiCatalogItemConsumers: {
+ aiCatalogConfiguredItems: {
nodes: [
{
...mockBaseItemConsumer,
@@ -480,9 +480,9 @@ export const mockConfiguredFlowsResponse = {
},
};
-export const mockItemConsumersEmptyResponse = {
+export const mockConfiguredItemsEmptyResponse = {
data: {
- aiCatalogItemConsumers: {
+ aiCatalogConfiguredItems: {
nodes: [],
pageInfo: {
hasNextPage: false,
diff --git a/ee/spec/frontend/ai/duo_agentic_chat/components/app_spec.js b/ee/spec/frontend/ai/duo_agentic_chat/components/app_spec.js
index 8662c826751a5438c6e42467fa41a5d30c1b087a..d3262a9a7a5047b92c8de34ca77e5bc4006caaea 100644
--- a/ee/spec/frontend/ai/duo_agentic_chat/components/app_spec.js
+++ b/ee/spec/frontend/ai/duo_agentic_chat/components/app_spec.js
@@ -123,7 +123,7 @@ const MOCK_USER_WORKFLOWS_RESPONSE = {
const MOCK_CONFIGURED_AGENTS_RESPONSE = {
data: {
- aiCatalogItemConsumers: {
+ aiCatalogConfiguredItems: {
nodes: [
{
id: 'Configured Item 5',
@@ -1509,7 +1509,7 @@ describe('Duo Agentic Chat', () => {
duoChatGlobalState.isAgenticChatShown = true;
createComponent();
const agentResponse =
- MOCK_CONFIGURED_AGENTS_RESPONSE.data.aiCatalogItemConsumers.nodes[0].item;
+ MOCK_CONFIGURED_AGENTS_RESPONSE.data.aiCatalogConfiguredItems.nodes[0].item;
agent = { ...agentResponse, text: agentResponse.name };
flowConfig = 'YAML string';
ApolloUtils.getAgentFlowConfig.mockResolvedValue(flowConfig);
diff --git a/ee/spec/frontend/ai/duo_agents_platform/pages/agents/ai_agents_spec.js b/ee/spec/frontend/ai/duo_agents_platform/pages/agents/ai_agents_spec.js
index 1807cc3021314779cc9b9e72988d0e36b8bb4a57..e6dcd8c6256dd54d294a7b66afe57e504f2271eb 100644
--- a/ee/spec/frontend/ai/duo_agents_platform/pages/agents/ai_agents_spec.js
+++ b/ee/spec/frontend/ai/duo_agents_platform/pages/agents/ai_agents_spec.js
@@ -10,7 +10,7 @@ import AiCatalogList from 'ee/ai/catalog/components/ai_catalog_list.vue';
import ErrorsAlert from '~/vue_shared/components/errors_alert.vue';
import PageHeading from '~/vue_shared/components/page_heading.vue';
import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue';
-import aiCatalogItemConsumersQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql';
+import aiCatalogConfiguredItemsQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql';
import aiCatalogAgentQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_agent.query.graphql';
import deleteAiCatalogItemConsumer from 'ee/ai/catalog/graphql/mutations/delete_ai_catalog_item_consumer.mutation.graphql';
import {
@@ -18,7 +18,7 @@ import {
mockBaseAgent,
mockBaseItemConsumer,
mockConfiguredAgentsResponse,
- mockItemConsumersEmptyResponse,
+ mockConfiguredItemsEmptyResponse,
mockAiCatalogItemConsumerDeleteResponse,
mockAiCatalogItemConsumerDeleteErrorResponse,
mockPageInfo,
@@ -49,7 +49,7 @@ describe('AiAgents', () => {
const createComponent = ({ $route = { query: {} } } = {}) => {
mockApollo = createMockApollo([
- [aiCatalogItemConsumersQuery, mockConfiguredAgentsQueryHandler],
+ [aiCatalogConfiguredItemsQuery, mockConfiguredAgentsQueryHandler],
[aiCatalogAgentQuery, mockAgentQueryHandler],
[deleteAiCatalogItemConsumer, deleteItemConsumerMutationHandler],
]);
@@ -98,7 +98,7 @@ describe('AiAgents', () => {
describe('when there are no agents', () => {
beforeEach(async () => {
- mockConfiguredAgentsQueryHandler.mockResolvedValueOnce(mockItemConsumersEmptyResponse);
+ mockConfiguredAgentsQueryHandler.mockResolvedValueOnce(mockConfiguredItemsEmptyResponse);
await waitForPromises();
});
diff --git a/ee/spec/frontend/ai/duo_agents_platform/pages/flows/ai_flows_spec.js b/ee/spec/frontend/ai/duo_agents_platform/pages/flows/ai_flows_spec.js
index 66b56cacd35f346e10c72cc5fc7607b604337f7a..d9a50227eb2def543b68ed3d30353d05d5479022 100644
--- a/ee/spec/frontend/ai/duo_agents_platform/pages/flows/ai_flows_spec.js
+++ b/ee/spec/frontend/ai/duo_agents_platform/pages/flows/ai_flows_spec.js
@@ -10,7 +10,7 @@ import AiCatalogList from 'ee/ai/catalog/components/ai_catalog_list.vue';
import ErrorsAlert from '~/vue_shared/components/errors_alert.vue';
import PageHeading from '~/vue_shared/components/page_heading.vue';
import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue';
-import aiCatalogItemConsumersQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_item_consumers.query.graphql';
+import aiCatalogConfiguredItemsQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_configured_items.query.graphql';
import aiCatalogFlowQuery from 'ee/ai/catalog/graphql/queries/ai_catalog_flow.query.graphql';
import deleteAiCatalogItemConsumer from 'ee/ai/catalog/graphql/mutations/delete_ai_catalog_item_consumer.mutation.graphql';
import {
@@ -18,7 +18,7 @@ import {
mockBaseFlow,
mockBaseItemConsumer,
mockConfiguredFlowsResponse,
- mockItemConsumersEmptyResponse,
+ mockConfiguredItemsEmptyResponse,
mockAiCatalogItemConsumerDeleteResponse,
mockAiCatalogItemConsumerDeleteErrorResponse,
mockPageInfo,
@@ -47,7 +47,7 @@ describe('AiFlows', () => {
const createComponent = ({ $route = { query: {} } } = {}) => {
mockApollo = createMockApollo([
- [aiCatalogItemConsumersQuery, mockConfiguredFlowsQueryHandler],
+ [aiCatalogConfiguredItemsQuery, mockConfiguredFlowsQueryHandler],
[aiCatalogFlowQuery, mockFlowQueryHandler],
[deleteAiCatalogItemConsumer, deleteItemConsumerMutationHandler],
]);
@@ -96,7 +96,7 @@ describe('AiFlows', () => {
describe('when there are no flows', () => {
beforeEach(async () => {
- mockConfiguredFlowsQueryHandler.mockResolvedValueOnce(mockItemConsumersEmptyResponse);
+ mockConfiguredFlowsQueryHandler.mockResolvedValueOnce(mockConfiguredItemsEmptyResponse);
await waitForPromises();
});
diff --git a/ee/spec/graphql/resolvers/ai/catalog/item_consumers_resolver_spec.rb b/ee/spec/graphql/resolvers/ai/catalog/configured_items_resolver_spec.rb
similarity index 73%
rename from ee/spec/graphql/resolvers/ai/catalog/item_consumers_resolver_spec.rb
rename to ee/spec/graphql/resolvers/ai/catalog/configured_items_resolver_spec.rb
index 39a80f60b554d39044844fa42d0f3bb1f6273ba0..a8040e8dc0f54fe3cf6a92d75a07cd96b1f2c467 100644
--- a/ee/spec/graphql/resolvers/ai/catalog/item_consumers_resolver_spec.rb
+++ b/ee/spec/graphql/resolvers/ai/catalog/configured_items_resolver_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Resolvers::Ai::Catalog::ItemConsumersResolver, feature_category: :workflow_catalog do
+RSpec.describe Resolvers::Ai::Catalog::ConfiguredItemsResolver, feature_category: :workflow_catalog do
subject(:resolver) { described_class }
it 'has expected arguments' do
diff --git a/ee/spec/graphql/types/query_type_spec.rb b/ee/spec/graphql/types/query_type_spec.rb
index 4958f1235768dd2776bb22d608a521ef30608ce0..912b4e4f8261868dfb0fd54bc0f4187d203c656a 100644
--- a/ee/spec/graphql/types/query_type_spec.rb
+++ b/ee/spec/graphql/types/query_type_spec.rb
@@ -10,7 +10,7 @@
:add_on_purchases,
:ai_catalog_agent_flow_config,
:ai_catalog_built_in_tools,
- :ai_catalog_item_consumers,
+ :ai_catalog_configured_items,
:ai_catalog_item,
:ai_catalog_items,
:ai_messages,
diff --git a/ee/spec/requests/api/graphql/ai/catalog/item_consumers_resolver_spec.rb b/ee/spec/requests/api/graphql/ai/catalog/configured_items_resolver_spec.rb
similarity index 80%
rename from ee/spec/requests/api/graphql/ai/catalog/item_consumers_resolver_spec.rb
rename to ee/spec/requests/api/graphql/ai/catalog/configured_items_resolver_spec.rb
index 15cebbf0aa31d921bdd559a07d06e6ff42721572..182ef6377b353052ab999704655174719ba4df25 100644
--- a/ee/spec/requests/api/graphql/ai/catalog/item_consumers_resolver_spec.rb
+++ b/ee/spec/requests/api/graphql/ai/catalog/configured_items_resolver_spec.rb
@@ -10,47 +10,47 @@
let_it_be(:catalog_agents) { create_list(:ai_catalog_agent, 2) }
let_it_be(:catalog_flows) { create_list(:ai_catalog_flow, 2) }
let_it_be(:catalog_items) { [*catalog_agents, *catalog_flows] }
- let_it_be(:agent_consumers) do
+ let_it_be(:configured_agents) do
catalog_agents.map { |item| create(:ai_catalog_item_consumer, project: project, item: item) }
end
- let_it_be(:flow_consumers) do
+ let_it_be(:configured_flows) do
catalog_flows.map { |item| create(:ai_catalog_item_consumer, project: project, item: item) }
end
- let_it_be(:consumers) do
- [*agent_consumers, *flow_consumers]
+ let_it_be(:configured_items) do
+ [*configured_agents, *configured_flows]
end
let(:current_user) { developer }
let(:project_gid) { project.to_global_id }
- let(:nodes) { graphql_data_at(:ai_catalog_item_consumers, :nodes) }
+ let(:nodes) { graphql_data_at(:ai_catalog_configured_items, :nodes) }
let(:args) { { projectId: project_gid } }
let(:query) do
- "{ #{query_nodes('aiCatalogItemConsumers', of: 'AiCatalogItemConsumer', max_depth: 3, args: args)} }"
+ "{ #{query_nodes('aiCatalogConfiguredItems', of: 'AiCatalogItemConsumer', max_depth: 3, args: args)} }"
end
it 'returns configured AI catalog items' do
post_graphql(query, current_user: current_user)
expect(response).to have_gitlab_http_status(:success)
- expect(nodes).to match_array(consumers.map { |configured_item| a_graphql_entity_for(configured_item) })
+ expect(nodes).to match_array(configured_items.map { |configured_item| a_graphql_entity_for(configured_item) })
end
context 'when filtering by group and item' do
let_it_be(:group) { create(:group, developers: developer) }
- let_it_be(:consumers) do
+ let_it_be(:configured_items) do
catalog_items.map { |item| create(:ai_catalog_item_consumer, group: group, item: item) }
end
- let(:args) { { groupId: group.to_global_id, itemId: consumers[0].item.to_global_id } }
+ let(:args) { { groupId: group.to_global_id, itemId: configured_items[0].item.to_global_id } }
it 'returns configured AI catalog items' do
post_graphql(query, current_user: current_user)
expect(response).to have_gitlab_http_status(:success)
- expect(nodes).to contain_exactly(a_graphql_entity_for(consumers[0]))
+ expect(nodes).to contain_exactly(a_graphql_entity_for(configured_items[0]))
end
end
@@ -95,7 +95,7 @@
post_graphql(query, current_user: current_user)
expect(response).to have_gitlab_http_status(:success)
- expect(nodes).to match_array(flow_consumers.map { |flow| a_graphql_entity_for(flow) })
+ expect(nodes).to match_array(configured_flows.map { |flow| a_graphql_entity_for(flow) })
end
end