summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-05-18 12:56:13 -0500
committerRémy Coutable <remy@rymai.me>2016-05-18 17:43:40 -0500
commit0698113cabe68f23ac38d7b2fde6c5cb7e5bec4f (patch)
tree8c24a7da49c82d28079d9e3d69f68c77a61e37ce
parent483c034b86262fb9b2c47df999d995f500b38eb4 (diff)
downloadgitlab-ce-0698113cabe68f23ac38d7b2fde6c5cb7e5bec4f.tar.gz
Move #create_confidentiality_note to Issues::UpdateServicemooreniemi/gitlab-ce-issue_15236
Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r--app/services/issuable_base_service.rb6
-rw-r--r--app/services/issues/update_service.rb8
-rw-r--r--app/services/system_note_service.rb19
-rw-r--r--spec/services/issues/update_service_spec.rb4
-rw-r--r--spec/services/system_note_service_spec.rb14
5 files changed, 19 insertions, 32 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index 1f59281e271..2b16089df1b 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -36,12 +36,6 @@ class IssuableBaseService < BaseService
end
end
- def create_confidentiality_note(issuable)
- SystemNoteService.change_confidentiality(
- issuable, issuable.project, current_user
- )
- end
-
def filter_params(issuable_ability_name = :issue)
filter_assignee
filter_milestone
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index 3a9bbf8a78c..c7d406cc331 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -10,7 +10,7 @@ module Issues
end
if issue.previous_changes.include?('title') ||
- issue.previous_changes.include?('description')
+ issue.previous_changes.include?('description')
todo_service.update_issue(issue, current_user)
end
@@ -41,5 +41,11 @@ module Issues
def close_service
Issues::CloseService
end
+
+ private
+
+ def create_confidentiality_note(issue)
+ SystemNoteService.change_issue_confidentiality(issue, issue.project, current_user)
+ end
end
end
diff --git a/app/services/system_note_service.rb b/app/services/system_note_service.rb
index e9e3c472e6d..972f8b2012d 100644
--- a/app/services/system_note_service.rb
+++ b/app/services/system_note_service.rb
@@ -169,29 +169,24 @@ class SystemNoteService
#
# Returns the created Note object
def self.change_title(noteable, project, author, old_title)
- return unless noteable.respond_to?(:title)
-
body = "Title changed from **#{old_title}** to **#{noteable.title}**"
create_note(noteable: noteable, project: project, author: author, note: body)
end
# Called when the confidentiality changes
#
- # noteable - Noteable object that responds to 'confidential'
- # project - Project owning noteable
- # author - User performing the change
+ # issue - Issue object
+ # project - Project owning the issue
+ # author - User performing the change
#
# Example Note text:
#
- # "Marked as confidential"
+ # "Made the issue confidential"
#
# Returns the created Note object
- def self.change_confidentiality(noteable, project, author)
- return unless noteable.respond_to?(:confidential)
-
- confidentiality_status = noteable.confidential ? "confidential" : "not confidential"
- body = "Marked as #{confidentiality_status}"
- create_note(noteable: noteable, project: project, author: author, note: body)
+ def self.change_issue_confidentiality(issue, project, author)
+ body = issue.confidential ? 'Made the issue confidential' : 'Made the issue visible'
+ create_note(noteable: issue, project: project, author: author, note: body)
end
# Called when a branch in Noteable is changed
diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb
index c9d8f1b382c..810a1f2d666 100644
--- a/spec/services/issues/update_service_spec.rb
+++ b/spec/services/issues/update_service_spec.rb
@@ -82,10 +82,10 @@ describe Issues::UpdateService, services: true do
end
it 'creates system note about confidentiality change' do
- note = find_note('Marked as confidential')
+ note = find_note('Made the issue confidential')
expect(note).not_to be_nil
- expect(note.note).to eq 'Marked as confidential'
+ expect(note.note).to eq 'Made the issue confidential'
end
end
diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb
index 4fa60436155..bffad59b8b6 100644
--- a/spec/services/system_note_service_spec.rb
+++ b/spec/services/system_note_service_spec.rb
@@ -244,24 +244,16 @@ describe SystemNoteService, services: true do
to eq "Title changed from **Old title** to **#{noteable.title}**"
end
end
-
- context 'when noteable does not respond to `title' do
- let(:noteable) { double('noteable') }
-
- it 'returns nil' do
- expect(subject).to be_nil
- end
- end
end
- describe '.change_confidentiality' do
- subject { described_class.change_confidentiality(noteable, project, author) }
+ describe '.change_issue_confidentiality' do
+ subject { described_class.change_issue_confidentiality(noteable, project, author) }
context 'when noteable responds to `confidential`' do
it_behaves_like 'a system note'
it 'sets the note text' do
- expect(subject.note).to eq "Marked as not confidential"
+ expect(subject.note).to eq 'Made the issue visible'
end
end
end