diff options
Diffstat (limited to 'spec/serializers')
-rw-r--r-- | spec/serializers/ci/downloadable_artifact_entity_spec.rb | 5 | ||||
-rw-r--r-- | spec/serializers/ci/pipeline_entity_spec.rb | 10 | ||||
-rw-r--r-- | spec/serializers/diffs_entity_spec.rb | 7 | ||||
-rw-r--r-- | spec/serializers/diffs_metadata_entity_spec.rb | 7 | ||||
-rw-r--r-- | spec/serializers/group_link/project_group_link_entity_spec.rb | 27 | ||||
-rw-r--r-- | spec/serializers/merge_requests/pipeline_entity_spec.rb | 10 | ||||
-rw-r--r-- | spec/serializers/paginated_diff_entity_spec.rb | 7 | ||||
-rw-r--r-- | spec/serializers/project_mirror_entity_spec.rb | 4 | ||||
-rw-r--r-- | spec/serializers/stage_entity_spec.rb | 2 |
9 files changed, 40 insertions, 39 deletions
diff --git a/spec/serializers/ci/downloadable_artifact_entity_spec.rb b/spec/serializers/ci/downloadable_artifact_entity_spec.rb index 34a271e7422..3142b03581d 100644 --- a/spec/serializers/ci/downloadable_artifact_entity_spec.rb +++ b/spec/serializers/ci/downloadable_artifact_entity_spec.rb @@ -17,7 +17,10 @@ RSpec.describe Ci::DownloadableArtifactEntity do end context 'when user cannot read job artifact' do - let!(:build) { create(:ci_build, :success, :artifacts, :non_public_artifacts, pipeline: pipeline) } + let!(:build) do + create(:ci_build, :success, :private_artifacts, + pipeline: pipeline) + end it 'returns only artifacts readable by user', :aggregate_failures do expect(subject[:artifacts].size).to eq(1) diff --git a/spec/serializers/ci/pipeline_entity_spec.rb b/spec/serializers/ci/pipeline_entity_spec.rb index ff364918b4f..ae992e478a6 100644 --- a/spec/serializers/ci/pipeline_entity_spec.rb +++ b/spec/serializers/ci/pipeline_entity_spec.rb @@ -49,16 +49,6 @@ RSpec.describe Ci::PipelineEntity do .to include :stuck, :auto_devops, :yaml_errors, :retryable, :cancelable, :merge_request end - - context 'when pipeline_name feature flag is disabled' do - before do - stub_feature_flags(pipeline_name: false) - end - - it 'does not return name' do - is_expected.not_to include(:name) - end - end end context 'when default branch not protected' do diff --git a/spec/serializers/diffs_entity_spec.rb b/spec/serializers/diffs_entity_spec.rb index ba40d538ccb..aa8e7275870 100644 --- a/spec/serializers/diffs_entity_spec.rb +++ b/spec/serializers/diffs_entity_spec.rb @@ -9,13 +9,11 @@ RSpec.describe DiffsEntity do let(:request) { EntityRequest.new(project: project, current_user: user) } let(:merge_request_diffs) { merge_request.merge_request_diffs } - let(:merge_conflicts_in_diff) { false } let(:options) do { request: request, merge_request: merge_request, - merge_request_diffs: merge_request_diffs, - merge_conflicts_in_diff: merge_conflicts_in_diff + merge_request_diffs: merge_request_diffs } end @@ -101,10 +99,9 @@ RSpec.describe DiffsEntity do subject[:diff_files] end - context 'when merge_conflicts_in_diff is true' do + context 'when there are conflicts' do let(:conflict_file) { double(path: diff_files.first.new_path, conflict_type: :both_modified) } let(:conflicts) { double(conflicts: double(files: [conflict_file]), can_be_resolved_in_ui?: false) } - let(:merge_conflicts_in_diff) { true } before do allow(merge_request).to receive(:cannot_be_merged?).and_return(true) diff --git a/spec/serializers/diffs_metadata_entity_spec.rb b/spec/serializers/diffs_metadata_entity_spec.rb index 04db576ffb5..415a0d8e450 100644 --- a/spec/serializers/diffs_metadata_entity_spec.rb +++ b/spec/serializers/diffs_metadata_entity_spec.rb @@ -9,7 +9,6 @@ RSpec.describe DiffsMetadataEntity do let(:merge_request) { create(:merge_request_with_diffs, target_project: project, source_project: project) } let(:merge_request_diffs) { merge_request.merge_request_diffs } let(:merge_request_diff) { merge_request_diffs.last } - let(:merge_conflicts_in_diff) { false } let(:options) { {} } let(:entity) do @@ -18,8 +17,7 @@ RSpec.describe DiffsMetadataEntity do options.merge( request: request, merge_request: merge_request, - merge_request_diffs: merge_request_diffs, - merge_conflicts_in_diff: merge_conflicts_in_diff + merge_request_diffs: merge_request_diffs ) ) end @@ -67,10 +65,9 @@ RSpec.describe DiffsMetadataEntity do subject[:diff_files] end - context 'when merge_conflicts_in_diff is true' do + context 'when there are conflicts' do let(:conflict_file) { double(path: raw_diff_files.first.new_path, conflict_type: :both_modified) } let(:conflicts) { double(conflicts: double(files: [conflict_file]), can_be_resolved_in_ui?: false) } - let(:merge_conflicts_in_diff) { true } before do allow(merge_request).to receive(:cannot_be_merged?).and_return(true) diff --git a/spec/serializers/group_link/project_group_link_entity_spec.rb b/spec/serializers/group_link/project_group_link_entity_spec.rb index f2a9f3a107a..1a8fcb2cfd3 100644 --- a/spec/serializers/group_link/project_group_link_entity_spec.rb +++ b/spec/serializers/group_link/project_group_link_entity_spec.rb @@ -18,6 +18,7 @@ RSpec.describe GroupLink::ProjectGroupLinkEntity do context 'when current user has `admin_project_member` permissions' do before do + allow(entity).to receive(:can?).with(current_user, :admin_project_group_link, project_group_link).and_return(false) allow(entity).to receive(:can?).with(current_user, :admin_project_member, project_group_link.project).and_return(true) end @@ -25,7 +26,33 @@ RSpec.describe GroupLink::ProjectGroupLinkEntity do json = entity.as_json expect(json[:can_update]).to be true + expect(json[:can_remove]).to be false + end + end + + context 'when current user is a group owner' do + before do + allow(entity).to receive(:can?).with(current_user, :admin_project_group_link, project_group_link).and_return(true) + allow(entity).to receive(:can?).with(current_user, :admin_project_member, project_group_link.project).and_return(false) + end + + it 'exposes `can_remove` as true' do + json = entity.as_json + expect(json[:can_remove]).to be true end end + + context 'when current user is not a group owner' do + before do + allow(entity).to receive(:can?).with(current_user, :admin_project_group_link, project_group_link).and_return(false) + allow(entity).to receive(:can?).with(current_user, :admin_project_member, project_group_link.project).and_return(false) + end + + it 'exposes `can_remove` as false' do + json = entity.as_json + + expect(json[:can_remove]).to be false + end + end end diff --git a/spec/serializers/merge_requests/pipeline_entity_spec.rb b/spec/serializers/merge_requests/pipeline_entity_spec.rb index a8f4fc44f10..414ce6653bc 100644 --- a/spec/serializers/merge_requests/pipeline_entity_spec.rb +++ b/spec/serializers/merge_requests/pipeline_entity_spec.rb @@ -51,15 +51,5 @@ RSpec.describe MergeRequests::PipelineEntity do expect(entity.as_json).not_to include(:coverage) end - - context 'when pipeline_name feature flag is disabled' do - before do - stub_feature_flags(pipeline_name: false) - end - - it 'does not return name' do - is_expected.not_to include(:name) - end - end end end diff --git a/spec/serializers/paginated_diff_entity_spec.rb b/spec/serializers/paginated_diff_entity_spec.rb index 3d77beb9abc..29484d170f8 100644 --- a/spec/serializers/paginated_diff_entity_spec.rb +++ b/spec/serializers/paginated_diff_entity_spec.rb @@ -7,13 +7,11 @@ RSpec.describe PaginatedDiffEntity do let(:request) { double('request', current_user: user) } let(:merge_request) { create(:merge_request) } let(:diff_batch) { merge_request.merge_request_diff.diffs_in_batch(2, 3, diff_options: nil) } - let(:merge_conflicts_in_diff) { false } let(:options) do { request: request, merge_request: merge_request, - pagination_data: diff_batch.pagination_data, - merge_conflicts_in_diff: merge_conflicts_in_diff + pagination_data: diff_batch.pagination_data } end @@ -43,10 +41,9 @@ RSpec.describe PaginatedDiffEntity do subject[:diff_files] end - context 'when merge_conflicts_in_diff is true' do + context 'when there are conflicts' do let(:conflict_file) { double(path: diff_files.first.new_path, conflict_type: :both_modified) } let(:conflicts) { double(conflicts: double(files: [conflict_file]), can_be_resolved_in_ui?: false) } - let(:merge_conflicts_in_diff) { true } before do allow(merge_request).to receive(:cannot_be_merged?).and_return(true) diff --git a/spec/serializers/project_mirror_entity_spec.rb b/spec/serializers/project_mirror_entity_spec.rb index 7ed530ed9e8..88531b3c3d3 100644 --- a/spec/serializers/project_mirror_entity_spec.rb +++ b/spec/serializers/project_mirror_entity_spec.rb @@ -2,8 +2,8 @@ require 'spec_helper' -RSpec.describe ProjectMirrorEntity do - let(:project) { create(:project, :repository, :remote_mirror) } +RSpec.describe ProjectMirrorEntity, feature_category: :source_code_management do + let(:project) { build(:project, :repository, :remote_mirror) } let(:entity) { described_class.new(project) } subject { entity.as_json } diff --git a/spec/serializers/stage_entity_spec.rb b/spec/serializers/stage_entity_spec.rb index 95d3fd254d4..5cb5724ebdc 100644 --- a/spec/serializers/stage_entity_spec.rb +++ b/spec/serializers/stage_entity_spec.rb @@ -63,7 +63,7 @@ RSpec.describe StageEntity do context 'and contains commit status' do before do - create(:generic_commit_status, pipeline: pipeline, stage: 'test') + create(:generic_commit_status, pipeline: pipeline, ci_stage: stage) end it 'contains commit status' do |