Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-18 22:00:14 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-18 22:00:14 +0300
commit05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch)
tree11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /spec/serializers
parentec73467c23693d0db63a797d10194da9e72a74af (diff)
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'spec/serializers')
-rw-r--r--spec/serializers/ci/downloadable_artifact_entity_spec.rb5
-rw-r--r--spec/serializers/ci/pipeline_entity_spec.rb10
-rw-r--r--spec/serializers/diffs_entity_spec.rb7
-rw-r--r--spec/serializers/diffs_metadata_entity_spec.rb7
-rw-r--r--spec/serializers/group_link/project_group_link_entity_spec.rb27
-rw-r--r--spec/serializers/merge_requests/pipeline_entity_spec.rb10
-rw-r--r--spec/serializers/paginated_diff_entity_spec.rb7
-rw-r--r--spec/serializers/project_mirror_entity_spec.rb4
-rw-r--r--spec/serializers/stage_entity_spec.rb2
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