Skip to content
Snippets Groups Projects
Commit b6b486f0 authored by Sean McGivern's avatar Sean McGivern Committed by Lin Jen-Shin
Browse files

Merge branch 'issuable-state-only-notes-and-description' into 'master'

Display issuable state only in notes and issuable description

Closes #30964

See merge request !10789
parent 43b70623
No related branches found
No related tags found
No related merge requests found
Pipeline #
Loading
Loading
@@ -23,7 +23,7 @@ module Issuable
 
included do
cache_markdown_field :title, pipeline: :single_line
cache_markdown_field :description
cache_markdown_field :description, issuable_state_filter_enabled: true
 
belongs_to :author, class_name: "User"
belongs_to :assignee, class_name: "User"
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@ class Note < ActiveRecord::Base
 
ignore_column :original_discussion_id
 
cache_markdown_field :note, pipeline: :note
cache_markdown_field :note, pipeline: :note, issuable_state_filter_enabled: true
 
# Attribute containing rendered and redacted Markdown as generated by
# Banzai::ObjectRenderer.
Loading
Loading
Loading
Loading
@@ -9,6 +9,8 @@ module Banzai
VISIBLE_STATES = %w(closed merged).freeze
 
def call
return doc unless context[:issuable_state_filter_enabled]
extractor = Banzai::IssuableExtractor.new(project, current_user)
issuables = extractor.extract([doc])
 
Loading
Loading
Loading
Loading
@@ -5,6 +5,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
include FilterSpecHelper
 
let(:user) { create(:user) }
let(:context) { { current_user: user, issuable_state_filter_enabled: true } }
 
def create_link(text, data)
link_to(text, '', class: 'gfm has-tooltip', data: data)
Loading
Loading
@@ -20,7 +21,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores non-issuable links' do
project = create(:empty_project, :public)
link = create_link('text', project: project, reference_type: 'issue')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -28,7 +29,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores issuable links with empty content' do
issue = create(:issue, :closed)
link = create_link('', issue: issue.id, reference_type: 'issue')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('')
end
Loading
Loading
@@ -40,17 +41,26 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
issue: issue.id,
reference_type: 'issue'
)
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.inner_html).
to eq('something <strong>else</strong> [closed]')
end
 
it 'does not append state when filter is not enabled' do
issue = create(:issue, :closed)
link = create_link('text', issue: issue.id, reference_type: 'issue')
context = { current_user: user }
doc = filter(link, context)
expect(doc.css('a').last.text).to eq('text')
end
context 'for issue references' do
it 'ignores open issue references' do
issue = create(:issue)
link = create_link('text', issue: issue.id, reference_type: 'issue')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -58,7 +68,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores reopened issue references' do
reopened_issue = create(:issue, :reopened)
link = create_link('text', issue: reopened_issue.id, reference_type: 'issue')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -66,7 +76,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'appends [closed] to closed issue references' do
closed_issue = create(:issue, :closed)
link = create_link('text', issue: closed_issue.id, reference_type: 'issue')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text [closed]')
end
Loading
Loading
@@ -76,7 +86,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores open merge request references' do
mr = create(:merge_request)
link = create_link('text', merge_request: mr.id, reference_type: 'merge_request')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -84,7 +94,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores reopened merge request references' do
mr = create(:merge_request, :reopened)
link = create_link('text', merge_request: mr.id, reference_type: 'merge_request')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -92,7 +102,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'ignores locked merge request references' do
mr = create(:merge_request, :locked)
link = create_link('text', merge_request: mr.id, reference_type: 'merge_request')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text')
end
Loading
Loading
@@ -100,7 +110,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'appends [closed] to closed merge request references' do
mr = create(:merge_request, :closed)
link = create_link('text', merge_request: mr.id, reference_type: 'merge_request')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text [closed]')
end
Loading
Loading
@@ -108,7 +118,7 @@ describe Banzai::Filter::IssuableStateFilter, lib: true do
it 'appends [merged] to merged merge request references' do
mr = create(:merge_request, :merged)
link = create_link('text', merge_request: mr.id, reference_type: 'merge_request')
doc = filter(link, current_user: user)
doc = filter(link, context)
 
expect(doc.css('a').last.text).to eq('text [merged]')
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment