diff options
Diffstat (limited to 'spec/graphql/resolvers/project_pipeline_resolver_spec.rb')
-rw-r--r-- | spec/graphql/resolvers/project_pipeline_resolver_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/graphql/resolvers/project_pipeline_resolver_spec.rb b/spec/graphql/resolvers/project_pipeline_resolver_spec.rb index 1950c2ca067..b852b349d4f 100644 --- a/spec/graphql/resolvers/project_pipeline_resolver_spec.rb +++ b/spec/graphql/resolvers/project_pipeline_resolver_spec.rb @@ -18,6 +18,10 @@ RSpec.describe Resolvers::ProjectPipelineResolver do resolve(described_class, obj: project, args: args, ctx: { current_user: current_user }) end + before do + project.add_developer(current_user) + end + it 'resolves pipeline for the passed iid' do result = batch_sync do resolve_pipeline(project, { iid: '1234' }) @@ -26,6 +30,21 @@ RSpec.describe Resolvers::ProjectPipelineResolver do expect(result).to eq(pipeline) end + it 'keeps the queries under the threshold' do + create(:ci_pipeline, project: project, iid: '1235') + + control = ActiveRecord::QueryRecorder.new do + batch_sync { resolve_pipeline(project, { iid: '1234' }) } + end + + expect do + batch_sync do + resolve_pipeline(project, { iid: '1234' }) + resolve_pipeline(project, { iid: '1235' }) + end + end.not_to exceed_query_limit(control) + end + it 'does not resolve a pipeline outside the project' do result = batch_sync do resolve_pipeline(other_pipeline.project, { iid: '1234' }) |