summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZJ van de Weg <zegerjan@gitlab.com>2016-05-17 12:28:17 -0500
committerZJ van de Weg <zegerjan@gitlab.com>2016-05-18 08:47:15 -0500
commite0cabb67d0492907e6cef21bb0ef21a6e953b70b (patch)
treee6f6f11a0d5cc9246670f76ad84bd0f75d652a6e
parent7a4e7ad04e1fc96953d9159e8e1a2208990d34f7 (diff)
downloadgitlab-ce-e0cabb67d0492907e6cef21bb0ef21a6e953b70b.tar.gz
Fix latests concerns
-rw-r--r--app/controllers/concerns/toggle_award_emoji.rb2
-rw-r--r--app/controllers/projects/notes_controller.rb13
-rw-r--r--app/models/award_emoji.rb9
-rw-r--r--app/services/notes/create_service.rb6
-rw-r--r--app/services/toggle_award_emoji_service.rb9
-rw-r--r--app/views/projects/merge_requests/_merge_request.html.haml6
-rw-r--r--app/views/projects/merge_requests/_merge_requests.html.haml1
-rw-r--r--spec/features/notes_on_merge_requests_spec.rb8
-rw-r--r--spec/services/notes/create_service_spec.rb2
-rw-r--r--spec/services/toggle_award_emoji_service_spec.rb33
10 files changed, 23 insertions, 66 deletions
diff --git a/app/controllers/concerns/toggle_award_emoji.rb b/app/controllers/concerns/toggle_award_emoji.rb
index 9cd522d1c30..09ff44f291b 100644
--- a/app/controllers/concerns/toggle_award_emoji.rb
+++ b/app/controllers/concerns/toggle_award_emoji.rb
@@ -7,7 +7,9 @@ module ToggleAwardEmoji
def toggle_award_emoji
name = params.require(:name)
+
awardable.toggle_award_emoji(name, current_user)
+ TodoService.new.new_award_emoji(awardable, current_user)
render json: { ok: true }
end
diff --git a/app/controllers/projects/notes_controller.rb b/app/controllers/projects/notes_controller.rb
index eb5137fe999..b097f609c63 100644
--- a/app/controllers/projects/notes_controller.rb
+++ b/app/controllers/projects/notes_controller.rb
@@ -22,10 +22,8 @@ class Projects::NotesController < Projects::ApplicationController
def create
@note = Notes::CreateService.new(project, current_user, note_params).execute
- @note = @note.is_a?(AwardEmoji) ? @note.to_note_json : note_json(@note)
-
respond_to do |format|
- format.json { render json: @note }
+ format.json { render json: note_json(@note) }
format.html { redirect_back_or_default }
end
end
@@ -109,7 +107,14 @@ class Projects::NotesController < Projects::ApplicationController
end
def note_json(note)
- if note.valid?
+ if note.is_a?(AwardEmoji)
+ {
+ valid: note.valid?,
+ award: true,
+ id: note.id,
+ name: note.name
+ }
+ elsif note.valid?
{
valid: true,
id: note.id,
diff --git a/app/models/award_emoji.rb b/app/models/award_emoji.rb
index 44a9b55a8a6..59c7d87f5df 100644
--- a/app/models/award_emoji.rb
+++ b/app/models/award_emoji.rb
@@ -23,13 +23,4 @@ class AwardEmoji < ActiveRecord::Base
def upvote?
self.name == UPVOTE_NAME
end
-
- def to_note_json
- {
- valid: valid?,
- award: true,
- id: id,
- name: name
- }
- end
end
diff --git a/app/services/notes/create_service.rb b/app/services/notes/create_service.rb
index 509deb898b1..44ff96f9bd8 100644
--- a/app/services/notes/create_service.rb
+++ b/app/services/notes/create_service.rb
@@ -6,8 +6,10 @@ module Notes
note.system = false
if note.award_emoji?
- return ToggleAwardEmojiService.new(project, current_user, params).
- execute(note.noteable, note.award_emoji_name)
+ noteable = note.noteable
+ todo_service.new_award_emoji(noteable, current_user)
+
+ return noteable.create_award_emoji(note.award_emoji_name, current_user)
end
return unless valid_project?(note)
diff --git a/app/services/toggle_award_emoji_service.rb b/app/services/toggle_award_emoji_service.rb
deleted file mode 100644
index 1820f57f564..00000000000
--- a/app/services/toggle_award_emoji_service.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-require_relative 'base_service'
-
-class ToggleAwardEmojiService < BaseService
- def execute(awardable, emoji)
- todo_service.new_award_emoji(awardable, current_user)
-
- awardable.toggle_award_emoji(emoji, current_user)
- end
-end
diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml
index eaee5180176..bcc6c4f2d5f 100644
--- a/app/views/projects/merge_requests/_merge_request.html.haml
+++ b/app/views/projects/merge_requests/_merge_request.html.haml
@@ -37,9 +37,9 @@
- note_count = merge_request.mr_and_commit_notes.user.count
%li
- = link_to merge_request_path(merge_request, anchor: 'notes'), class: ('merge-request-no-comments' if note_count.zero?) do
- = icon('comments')
- = note_count
+ = link_to merge_request_path(merge_request, anchor: 'notes'), class: ('merge-request-no-comments' if note_count.zero?) do
+ = icon('comments')
+ = note_count
.merge-request-info
#{merge_request.to_reference} &middot;
diff --git a/app/views/projects/merge_requests/_merge_requests.html.haml b/app/views/projects/merge_requests/_merge_requests.html.haml
index 5473fa19166..446887774a4 100644
--- a/app/views/projects/merge_requests/_merge_requests.html.haml
+++ b/app/views/projects/merge_requests/_merge_requests.html.haml
@@ -6,4 +6,3 @@
- if @merge_requests.present?
= paginate @merge_requests, theme: "gitlab"
-
diff --git a/spec/features/notes_on_merge_requests_spec.rb b/spec/features/notes_on_merge_requests_spec.rb
index 9e2bdd7f5bb..c93497970d7 100644
--- a/spec/features/notes_on_merge_requests_spec.rb
+++ b/spec/features/notes_on_merge_requests_spec.rb
@@ -8,12 +8,12 @@ describe 'Comments', feature: true do
it 'excludes award_emoji from comment count' do
merge_request = create(:merge_request)
project = merge_request.source_project
- create(:award_emoji, awardable: merge_request, project: project)
+ create(:award_emoji, awardable: merge_request)
login_as :admin
visit namespace_project_merge_requests_path(project.namespace, project)
- expect(merge_request.mr_and_commit_notes.count).to eq 1
+ expect(merge_request.mr_and_commit_notes.count).to eq 0
expect(page.all('.merge-request-no-comments').first.text).to eq "0"
end
end
@@ -146,11 +146,11 @@ describe 'Comments', feature: true do
describe 'comment info' do
it 'excludes award_emoji from comment count' do
- create(:award_emoji, awardable: merge_request, project: project)
+ create(:award_emoji, awardable: merge_request)
visit namespace_project_merge_request_path(project.namespace, project, merge_request)
- expect(merge_request.mr_and_commit_notes.count).to eq 2
+ expect(merge_request.mr_and_commit_notes.count).to eq 1
expect(find('.notes-tab span.badge').text).to eq "1"
end
end
diff --git a/spec/services/notes/create_service_spec.rb b/spec/services/notes/create_service_spec.rb
index 4e62e3975ea..35f576874b8 100644
--- a/spec/services/notes/create_service_spec.rb
+++ b/spec/services/notes/create_service_spec.rb
@@ -59,7 +59,7 @@ describe Notes::CreateService, services: true do
noteable_id: issue.id
}
- expect_any_instance_of(ToggleAwardEmojiService).to receive(:execute).with(issue, "thumbsup")
+ expect_any_instance_of(TodoService).to receive(:new_award_emoji).with(issue, user)
Notes::CreateService.new(project, user, opts).execute
end
diff --git a/spec/services/toggle_award_emoji_service_spec.rb b/spec/services/toggle_award_emoji_service_spec.rb
deleted file mode 100644
index b9d63bd70a7..00000000000
--- a/spec/services/toggle_award_emoji_service_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require 'spec_helper'
-
-describe ToggleAwardEmoji, services: true do
- let(:project) { create(:project) }
- let(:user) { create(:user) }
- let(:issue) { create(:issue, project: project) }
-
- before do
- project.team << [user, :master]
- end
-
- describe '#execute' do
- it 'removes related todos' do
- expect_any_instance_of(TodoService).to receive(:new_award_emoji).with(issue, user)
-
- ToggleAwardEmojiService.new(project, user).execute(issue, "thumbsdown")
- end
-
- context 'when the emoji is set' do
- it 'removes the emoji' do
- create(:award_emoji, awardable: issue, user: user)
-
- expect { ToggleAwardEmojiService.new(project, user).execute(issue, "thumbsup") }.to change { AwardEmoji.count }.by(-1)
- end
- end
-
- context 'when the award is not set yet' do
- it 'awards the emoji' do
- expect { ToggleAwardEmojiService.new(project, user).execute(issue, "thumbsup") }.to change { AwardEmoji.count }.by(1)
- end
- end
- end
-end