summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Rodríguez <alejorro70@gmail.com>2018-03-06 22:34:46 -0300
committerAlejandro Rodríguez <alejorro70@gmail.com>2018-03-06 22:49:50 -0300
commitc277aac9dc1a72eb8b4584ad217996a9d7daaf14 (patch)
treebb99e4fa4e2b7b34dbaa2765c40b3b8fe5c0563d
parentbc365bd15a0ec0317a4fce71d024397f26ab56c5 (diff)
downloadgitlab-ce-mr-commit-optimization.tar.gz
Don't do a commit lookup to present the MR entity, just return the shamr-commit-optimization
The MergeRequestWidgetEntity is used a lot in AJAX requests, and shaving that git operation will hopefully translate in a performance improvement
-rw-r--r--app/serializers/merge_request_widget_entity.rb2
-rw-r--r--spec/serializers/merge_request_widget_entity_spec.rb6
2 files changed, 3 insertions, 5 deletions
diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb
index 4e8ef320af2..a3ebec0efc6 100644
--- a/app/serializers/merge_request_widget_entity.rb
+++ b/app/serializers/merge_request_widget_entity.rb
@@ -38,7 +38,7 @@ class MergeRequestWidgetEntity < IssuableEntity
# Diff sha's
expose :diff_head_sha do |merge_request|
- merge_request.diff_head_sha if merge_request.diff_head_commit
+ merge_request.diff_head_sha.presence
end
expose :merge_commit_message
diff --git a/spec/serializers/merge_request_widget_entity_spec.rb b/spec/serializers/merge_request_widget_entity_spec.rb
index 80a271ba7fb..d2072198d83 100644
--- a/spec/serializers/merge_request_widget_entity_spec.rb
+++ b/spec/serializers/merge_request_widget_entity_spec.rb
@@ -147,9 +147,9 @@ describe MergeRequestWidgetEntity do
allow(resource).to receive(:diff_head_sha) { 'sha' }
end
- context 'when no diff head commit' do
+ context 'when diff head commit is empty' do
it 'returns nil' do
- allow(resource).to receive(:diff_head_commit) { nil }
+ allow(resource).to receive(:diff_head_sha) { '' }
expect(subject[:diff_head_sha]).to be_nil
end
@@ -157,8 +157,6 @@ describe MergeRequestWidgetEntity do
context 'when diff head commit present' do
it 'returns diff head commit short id' do
- allow(resource).to receive(:diff_head_commit) { double }
-
expect(subject[:diff_head_sha]).to eq('sha')
end
end