summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@gitlab.com>2017-03-09 14:25:54 +0100
committerBob Van Landuyt <bob@gitlab.com>2017-03-13 08:27:52 +0100
commitf8b5fef9f7afadb3f63575e05c68d636f809a1cb (patch)
treedbbf0bf95d986c6e6469675f315c43d49a677da5
parentab520862903749702bceeff3c4d67b90c969e65d (diff)
downloadgitlab-ce-f8b5fef9f7afadb3f63575e05c68d636f809a1cb.tar.gz
Separate flash messages for resolving one or multiple discussions
-rw-r--r--app/controllers/projects/issues_controller.rb9
-rw-r--r--spec/controllers/projects/issues_controller_spec.rb24
2 files changed, 18 insertions, 15 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index ed31774bc70..35d1a52b251 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -109,9 +109,12 @@ class Projects::IssuesController < Projects::ApplicationController
service = Issues::CreateService.new(project, current_user, create_params)
@issue = service.execute
- if service.discussions_to_resolve.any? && service.discussions_to_resolve.all?(&:resolved?)
- resolve_count = service.discussions_to_resolve.size
- flash[:notice] = "Resolved #{resolve_count} #{'discussion'.pluralize(resolve_count)}."
+ if service.discussions_to_resolve.count(&:resolved?) > 0
+ flash[:notice] = if params[:discussion_to_resolve].present?
+ "Resolved 1 discussion."
+ else
+ "Resolved all discussions."
+ end
end
respond_to do |format|
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 70b1ae237ce..5e70966aa2d 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -498,22 +498,22 @@ describe Projects::IssuesController do
it 'sets a flash message' do
post_issue(title: 'Hello')
- expect(flash[:notice]).to eq('Resolved 1 discussion.')
+ expect(flash[:notice]).to eq('Resolved all discussions.')
end
- it 'pluralizes the flash message when resolving multiple discussions' do
- create(:diff_note_on_merge_request, noteable: merge_request, project: project, line_number: 15)
-
- post_issue(title: 'Hello')
-
- expect(flash[:notice]).to eq('Resolved 2 discussions.')
- end
+ describe "resolving a single discussion" do
+ before do
+ post_issue({ title: 'Hello' }, other_params: { discussion_to_resolve: discussion.id })
+ end
+ it 'resolves a single discussion' do
+ discussion.first_note.reload
- it "resolves a single discussion" do
- post_issue(other_params: { discussion_to_resolve: discussion.id })
- discussion.first_note.reload
+ expect(discussion.resolved?).to eq(true)
+ end
- expect(discussion.resolved?).to eq(true)
+ it 'sets a flash message that one discussion was resolved' do
+ expect(flash[:notice]).to eq('Resolved 1 discussion.')
+ end
end
end