Commit f2531819 authored by Alex Kalderimis's avatar Alex Kalderimis Committed by Alex Kalderimis

Use GlobalID in metrics

parent 6c504c83
...@@ -9,8 +9,7 @@ module Mutations ...@@ -9,8 +9,7 @@ module Mutations
authorize :delete_metrics_dashboard_annotation authorize :delete_metrics_dashboard_annotation
argument :id, argument :id, ::Types::GlobalIDType[::Metrics::Dashboard::Annotation],
GraphQL::ID_TYPE,
required: true, required: true,
description: 'The global ID of the annotation to delete' description: 'The global ID of the annotation to delete'
......
...@@ -101,9 +101,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do ...@@ -101,9 +101,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do
graphql_mutation(:create_annotation, variables) graphql_mutation(:create_annotation, variables)
end end
it_behaves_like 'a mutation that returns top-level errors' do it_behaves_like 'an invalid argument to the mutation', argument_name: :environment_id
let(:match_errors) { include(/is not a valid Global ID/) }
end
end end
end end
end end
...@@ -190,9 +188,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do ...@@ -190,9 +188,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do
graphql_mutation(:create_annotation, variables) graphql_mutation(:create_annotation, variables)
end end
it_behaves_like 'a mutation that returns top-level errors' do it_behaves_like 'an invalid argument to the mutation', argument_name: :cluster_id
let(:match_errors) { include(/is not a valid Global ID/) }
end
end end
end end
...@@ -213,15 +209,17 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do ...@@ -213,15 +209,17 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do
it_behaves_like 'a mutation that returns top-level errors', errors: [described_class::ANNOTATION_SOURCE_ARGUMENT_ERROR] it_behaves_like 'a mutation that returns top-level errors', errors: [described_class::ANNOTATION_SOURCE_ARGUMENT_ERROR]
end end
context 'when a non-cluster or environment id is provided' do [:environment_id, :cluster_id].each do |arg_name|
let(:gid) { { environment_id: project.to_global_id.to_s } } context "when #{arg_name} is given an ID of the wrong type" do
let(:gid) { global_id_of(project) }
let(:mutation) do let(:mutation) do
variables = { variables = {
starting_at: starting_at, starting_at: starting_at,
ending_at: ending_at, ending_at: ending_at,
dashboard_path: dashboard_path, dashboard_path: dashboard_path,
description: description description: description,
}.merge!(gid) arg_name => gid
}
graphql_mutation(:create_annotation, variables) graphql_mutation(:create_annotation, variables)
end end
...@@ -230,18 +228,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do ...@@ -230,18 +228,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Create do
project.add_developer(current_user) project.add_developer(current_user)
end end
describe 'non-environment id' do it_behaves_like 'an invalid argument to the mutation', argument_name: arg_name
it_behaves_like 'a mutation that returns top-level errors' do
let(:match_errors) { include(/does not represent an instance of Environment/) }
end
end
describe 'non-cluster id' do
let(:gid) { { cluster_id: project.to_global_id.to_s } }
it_behaves_like 'a mutation that returns top-level errors' do
let(:match_errors) { include(/does not represent an instance of Clusters::Cluster/) }
end
end end
end end
end end
...@@ -36,7 +36,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Delete do ...@@ -36,7 +36,7 @@ RSpec.describe Mutations::Metrics::Dashboard::Annotations::Delete do
let(:variables) { { id: GitlabSchema.id_from_object(project).to_s } } let(:variables) { { id: GitlabSchema.id_from_object(project).to_s } }
it_behaves_like 'a mutation that returns top-level errors' do it_behaves_like 'a mutation that returns top-level errors' do
let(:match_errors) { eq(["#{variables[:id]} is not a valid ID for #{annotation.class}."]) } let(:match_errors) { contain_exactly(include('invalid value for id')) }
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment