summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2019-02-08 19:43:34 +0000
committerPhil Hughes <me@iamphill.com>2019-02-08 19:43:34 +0000
commit5b23f2b016f4e5d33387d7474148d2a59b213ee6 (patch)
tree50e406dc8199be0acf60f69532b8076402764e7b
parentfe572c0e49e8c5add7c055d3df22e3df032c11d5 (diff)
parent20ce370f4bcacaf86a0178505eb183e3d59e2406 (diff)
downloadgitlab-ce-56965-rocket-mouseover-very-sensitive-alters-flag-positioning.tar.gz
Merge branch '57428-actionview-template-error-undefined-method-for-nil-nilclass' into 'master'56965-rocket-mouseover-very-sensitive-alters-flag-positioning
Resolve "ActionView::Template::Error: undefined method `>' for nil:NilClass" Closes #57428 See merge request gitlab-org/gitlab-ce!25028
-rw-r--r--app/views/projects/issues/_merge_requests_status.html.haml7
-rw-r--r--spec/views/projects/issues/_merge_requests_status.html.haml_spec.rb22
2 files changed, 27 insertions, 2 deletions
diff --git a/app/views/projects/issues/_merge_requests_status.html.haml b/app/views/projects/issues/_merge_requests_status.html.haml
index 43e4c8db93f..90838a75214 100644
--- a/app/views/projects/issues/_merge_requests_status.html.haml
+++ b/app/views/projects/issues/_merge_requests_status.html.haml
@@ -12,11 +12,14 @@
- mr_status_class = 'closed'
- else
- mr_status_date = merge_request.created_at
- - mr_status_title = _('Opened')
+ - mr_status_title = mr_status_date ? _('Opened') : _('Open')
- mr_status_icon = 'issue-open-m'
- mr_status_class = 'open'
-- mr_status_tooltip = "<div><span class=\"bold\">#{mr_status_title}</span> #{time_ago_in_words(mr_status_date)} ago</div><span class=\"text-tertiary\">#{l(mr_status_date.to_time, format: time_format)}</span>"
+- if mr_status_date
+ - mr_status_tooltip = "<div><span class=\"bold\">#{mr_status_title}</span> #{time_ago_in_words(mr_status_date)} ago</div><span class=\"text-tertiary\">#{l(mr_status_date.to_time, format: time_format)}</span>"
+- else
+ - mr_status_tooltip = "<div><span class=\"bold\">#{mr_status_title}</span></div>"
%span.mr-status-wrapper.suggestion-help-hover{ class: css_class, data: { toggle: 'tooltip', placement: 'bottom', html: 'true', title: mr_status_tooltip } }
= sprite_icon(mr_status_icon, size: 16, css_class: "merge-request-status #{mr_status_class}")
diff --git a/spec/views/projects/issues/_merge_requests_status.html.haml_spec.rb b/spec/views/projects/issues/_merge_requests_status.html.haml_spec.rb
new file mode 100644
index 00000000000..02c225292ce
--- /dev/null
+++ b/spec/views/projects/issues/_merge_requests_status.html.haml_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+require 'spec_helper'
+
+describe 'projects/issues/_merge_requests_status.html.haml' do
+ it 'shows date of status change in tooltip' do
+ merge_request = create(:merge_request, created_at: 1.month.ago)
+
+ render partial: 'projects/issues/merge_requests_status',
+ locals: { merge_request: merge_request, css_class: '' }
+
+ expect(rendered).to match("Opened.*about 1 month ago")
+ end
+
+ it 'shows only status in tooltip if date is not set' do
+ merge_request = create(:merge_request, state: :closed)
+
+ render partial: 'projects/issues/merge_requests_status',
+ locals: { merge_request: merge_request, css_class: '' }
+
+ expect(rendered).to match("Closed")
+ end
+end