summaryrefslogtreecommitdiff
path: root/spec/serializers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-03-18 20:02:30 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-03-18 20:02:30 +0000
commit41fe97390ceddf945f3d967b8fdb3de4c66b7dea (patch)
tree9c8d89a8624828992f06d892cd2f43818ff5dcc8 /spec/serializers
parent0804d2dc31052fb45a1efecedc8e06ce9bc32862 (diff)
downloadgitlab-ce-41fe97390ceddf945f3d967b8fdb3de4c66b7dea.tar.gz
Add latest changes from gitlab-org/gitlab@14-9-stable-eev14.9.0-rc42
Diffstat (limited to 'spec/serializers')
-rw-r--r--spec/serializers/ci/pipeline_entity_spec.rb3
-rw-r--r--spec/serializers/clusters/kubernetes_error_entity_spec.rb (renamed from spec/serializers/cluster_error_entity_spec.rb)2
-rw-r--r--spec/serializers/environment_entity_spec.rb2
-rw-r--r--spec/serializers/environment_serializer_spec.rb19
-rw-r--r--spec/serializers/fork_namespace_entity_spec.rb22
-rw-r--r--spec/serializers/issue_sidebar_basic_entity_spec.rb28
-rw-r--r--spec/serializers/label_serializer_spec.rb2
-rw-r--r--spec/serializers/merge_request_widget_entity_spec.rb2
-rw-r--r--spec/serializers/pipeline_details_entity_spec.rb14
-rw-r--r--spec/serializers/service_event_entity_spec.rb4
-rw-r--r--spec/serializers/service_field_entity_spec.rb4
11 files changed, 57 insertions, 45 deletions
diff --git a/spec/serializers/ci/pipeline_entity_spec.rb b/spec/serializers/ci/pipeline_entity_spec.rb
index 4d9ed9fc22f..808dc38f653 100644
--- a/spec/serializers/ci/pipeline_entity_spec.rb
+++ b/spec/serializers/ci/pipeline_entity_spec.rb
@@ -224,7 +224,8 @@ RSpec.describe Ci::PipelineEntity do
end
it 'makes atached flag true' do
- expect(subject[:flags][:merge_request_pipeline]).to be_truthy
+ expect(subject[:flags][:merge_request_pipeline]).to be true
+ expect(subject[:flags][:merge_request]).to be true
end
it 'exposes source sha and target sha' do
diff --git a/spec/serializers/cluster_error_entity_spec.rb b/spec/serializers/clusters/kubernetes_error_entity_spec.rb
index 43ec41adf14..1464e696c48 100644
--- a/spec/serializers/cluster_error_entity_spec.rb
+++ b/spec/serializers/clusters/kubernetes_error_entity_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe ClusterErrorEntity do
+RSpec.describe Clusters::KubernetesErrorEntity do
describe '#as_json' do
let(:cluster) { create(:cluster, :provided_by_user, :group) }
diff --git a/spec/serializers/environment_entity_spec.rb b/spec/serializers/environment_entity_spec.rb
index a6101f825e9..a59107ad309 100644
--- a/spec/serializers/environment_entity_spec.rb
+++ b/spec/serializers/environment_entity_spec.rb
@@ -31,7 +31,7 @@ RSpec.describe EnvironmentEntity do
end
it 'exposes core elements of environment' do
- expect(subject).to include(:id, :global_id, :name, :state, :environment_path)
+ expect(subject).to include(:id, :global_id, :name, :state, :environment_path, :tier)
end
it 'exposes folder path' do
diff --git a/spec/serializers/environment_serializer_spec.rb b/spec/serializers/environment_serializer_spec.rb
index 658062c9461..ec0dd735755 100644
--- a/spec/serializers/environment_serializer_spec.rb
+++ b/spec/serializers/environment_serializer_spec.rb
@@ -204,6 +204,25 @@ RSpec.describe EnvironmentSerializer do
json
end
+
+ # Validates possible bug that can arise when order_by is not honoured in the preloader.
+ # See: https://gitlab.com/gitlab-org/gitlab/-/issues/353966#note_861381504
+ it 'fetches the last and upcoming deployment correctly' do
+ last_deployment = nil
+ upcoming_deployment = nil
+ create(:environment, project: project).tap do |environment|
+ create(:deployment, :success, environment: environment, project: project)
+ last_deployment = create(:deployment, :success, environment: environment, project: project)
+
+ create(:deployment, :running, environment: environment, project: project)
+ upcoming_deployment = create(:deployment, :running, environment: environment, project: project)
+ end
+
+ response_json = json
+
+ expect(response_json.last[:last_deployment][:id]).to eq(last_deployment.id)
+ expect(response_json.last[:upcoming_deployment][:id]).to eq(upcoming_deployment.id)
+ end
end
def create_environment_with_associations(project)
diff --git a/spec/serializers/fork_namespace_entity_spec.rb b/spec/serializers/fork_namespace_entity_spec.rb
index 32223b0d41a..91c59c4bda8 100644
--- a/spec/serializers/fork_namespace_entity_spec.rb
+++ b/spec/serializers/fork_namespace_entity_spec.rb
@@ -59,26 +59,4 @@ RSpec.describe ForkNamespaceEntity do
it 'exposes human readable permission level' do
expect(json[:permission]).to eql 'Developer'
end
-
- it 'exposes can_create_project' do
- expect(json[:can_create_project]).to be true
- end
-
- context 'when fork_project_form feature flag is disabled' do
- before do
- stub_feature_flags(fork_project_form: false)
- end
-
- it 'sets can_create_project to true when user can create projects in namespace' do
- allow(user).to receive(:can?).with(:create_projects, namespace).and_return(true)
-
- expect(json[:can_create_project]).to be true
- end
-
- it 'sets can_create_project to false when user is not allowed create projects in namespace' do
- allow(user).to receive(:can?).with(:create_projects, namespace).and_return(false)
-
- expect(json[:can_create_project]).to be false
- end
- end
end
diff --git a/spec/serializers/issue_sidebar_basic_entity_spec.rb b/spec/serializers/issue_sidebar_basic_entity_spec.rb
index da07290f349..716c97f72af 100644
--- a/spec/serializers/issue_sidebar_basic_entity_spec.rb
+++ b/spec/serializers/issue_sidebar_basic_entity_spec.rb
@@ -3,9 +3,10 @@
require 'spec_helper'
RSpec.describe IssueSidebarBasicEntity do
- let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:group) { create(:group, :crm_enabled) }
+ let_it_be(:project) { create(:project, :repository, group: group) }
let_it_be(:user) { create(:user, developer_projects: [project]) }
- let_it_be(:issue) { create(:issue, project: project, assignees: [user]) }
+ let_it_be_with_reload(:issue) { create(:issue, project: project, assignees: [user]) }
let(:serializer) { IssueSerializer.new(current_user: user, project: project) }
@@ -71,4 +72,27 @@ RSpec.describe IssueSidebarBasicEntity do
end
end
end
+
+ describe 'show_crm_contacts' do
+ using RSpec::Parameterized::TableSyntax
+
+ where(:is_reporter, :contacts_exist_for_group, :expected) do
+ false | false | false
+ false | true | false
+ true | false | false
+ true | true | true
+ end
+
+ with_them do
+ it 'sets proper boolean value for show_crm_contacts' do
+ allow(CustomerRelations::Contact).to receive(:exists_for_group?).with(group).and_return(contacts_exist_for_group)
+
+ if is_reporter
+ project.root_ancestor.add_reporter(user)
+ end
+
+ expect(entity[:show_crm_contacts]).to be(expected)
+ end
+ end
+ end
end
diff --git a/spec/serializers/label_serializer_spec.rb b/spec/serializers/label_serializer_spec.rb
index 40249450f7f..05c74fca8a8 100644
--- a/spec/serializers/label_serializer_spec.rb
+++ b/spec/serializers/label_serializer_spec.rb
@@ -40,7 +40,7 @@ RSpec.describe LabelSerializer do
expect(subject.keys).to eq([:id, :title, :color, :project_id, :text_color])
expect(subject[:id]).to eq(resource.id)
expect(subject[:title]).to eq(resource.title)
- expect(subject[:color]).to eq(resource.color)
+ expect(subject[:color]).to be_color(resource.color)
expect(subject[:text_color]).to eq(resource.text_color)
expect(subject[:project_id]).to eq(resource.project_id)
end
diff --git a/spec/serializers/merge_request_widget_entity_spec.rb b/spec/serializers/merge_request_widget_entity_spec.rb
index 1712df6266c..f0779f1c57c 100644
--- a/spec/serializers/merge_request_widget_entity_spec.rb
+++ b/spec/serializers/merge_request_widget_entity_spec.rb
@@ -59,7 +59,7 @@ RSpec.describe MergeRequestWidgetEntity do
data = described_class.new(resource, request: request, issues_links: true).as_json
expect(data).to include(:issues_links)
- expect(data[:issues_links]).to include(:assign_to_closing, :closing, :mentioned_but_not_closing, :closing_count, :mentioned_count)
+ expect(data[:issues_links]).to include(:assign_to_closing, :assign_to_closing_count, :closing, :mentioned_but_not_closing, :closing_count, :mentioned_count)
end
it 'omits issue links by default' do
diff --git a/spec/serializers/pipeline_details_entity_spec.rb b/spec/serializers/pipeline_details_entity_spec.rb
index 128f1922887..67f8860ed4a 100644
--- a/spec/serializers/pipeline_details_entity_spec.rb
+++ b/spec/serializers/pipeline_details_entity_spec.rb
@@ -70,20 +70,6 @@ RSpec.describe PipelineDetailsEntity do
expect(subject[:flags][:retryable]).to eq false
end
end
-
- it 'does not contain code_quality_build_path in details' do
- expect(subject[:details]).not_to include :code_quality_build_path
- end
-
- context 'when option code_quality_walkthrough is set and pipeline is a success' do
- let(:entity) do
- described_class.represent(pipeline, request: request, code_quality_walkthrough: true)
- end
-
- it 'contains details.code_quality_build_path' do
- expect(subject[:details]).to include :code_quality_build_path
- end
- end
end
context 'when pipeline is cancelable' do
diff --git a/spec/serializers/service_event_entity_spec.rb b/spec/serializers/service_event_entity_spec.rb
index f610c8f1488..db82e84fcf8 100644
--- a/spec/serializers/service_event_entity_spec.rb
+++ b/spec/serializers/service_event_entity_spec.rb
@@ -19,7 +19,7 @@ RSpec.describe ServiceEventEntity do
it 'exposes correct attributes' do
expect(subject[:description]).to eq('Trigger event for pushes to the repository.')
expect(subject[:name]).to eq('push_events')
- expect(subject[:title]).to eq('push')
+ expect(subject[:title]).to eq('Push')
expect(subject[:value]).to be(true)
end
end
@@ -31,7 +31,7 @@ RSpec.describe ServiceEventEntity do
it 'exposes correct attributes' do
expect(subject[:description]).to eq('Trigger event for new comments.')
expect(subject[:name]).to eq('note_events')
- expect(subject[:title]).to eq('note')
+ expect(subject[:title]).to eq('Note')
expect(subject[:value]).to eq(false)
expect(subject[:field][:name]).to eq('note_channel')
expect(subject[:field][:value]).to eq('note-channel')
diff --git a/spec/serializers/service_field_entity_spec.rb b/spec/serializers/service_field_entity_spec.rb
index a06fdf95159..3a574c522b0 100644
--- a/spec/serializers/service_field_entity_spec.rb
+++ b/spec/serializers/service_field_entity_spec.rb
@@ -20,6 +20,7 @@ RSpec.describe ServiceFieldEntity do
it 'exposes correct attributes' do
expected_hash = {
+ section: 'connection',
type: 'text',
name: 'username',
title: 'Username or Email',
@@ -40,6 +41,7 @@ RSpec.describe ServiceFieldEntity do
it 'exposes correct attributes but hides password' do
expected_hash = {
+ section: 'connection',
type: 'password',
name: 'password',
title: 'Enter new password or API token',
@@ -64,6 +66,7 @@ RSpec.describe ServiceFieldEntity do
it 'exposes correct attributes and casts value to Boolean' do
expected_hash = {
+ section: nil,
type: 'checkbox',
name: 'send_from_committer_email',
title: 'Send from committer',
@@ -84,6 +87,7 @@ RSpec.describe ServiceFieldEntity do
it 'exposes correct attributes' do
expected_hash = {
+ section: nil,
type: 'select',
name: 'branches_to_be_notified',
title: 'Branches for which notifications are to be sent',