Commit a8e4e8b9413314bff239597b313a1f8c592c5654
1 parent
7c83fd47
Exists in
staging
and in
32 other branches
comment_paragraph: return count for paragraphs in api
Showing
2 changed files
with
18 additions
and
0 deletions
Show diff stats
plugins/comment_paragraph/lib/comment_paragraph_plugin/api.rb
| ... | ... | @@ -21,5 +21,11 @@ class CommentParagraphPlugin::API < Grape::API |
| 21 | 21 | present_partial article, :with => Noosfero::API::Entities::Article |
| 22 | 22 | end |
| 23 | 23 | end |
| 24 | + | |
| 25 | + get ':id/comment_paragraph_plugin/comments/count' do | |
| 26 | + article = find_article(environment.articles, params[:id]) | |
| 27 | + comments = select_filtered_collection_of(article, :comments, params) | |
| 28 | + comments.group(:paragraph_uuid).count | |
| 29 | + end | |
| 24 | 30 | end |
| 25 | 31 | end | ... | ... |
plugins/comment_paragraph/test/unit/api_test.rb
| ... | ... | @@ -56,4 +56,16 @@ class APITest < ActiveSupport::TestCase |
| 56 | 56 | assert_equal 403, last_response.status |
| 57 | 57 | end |
| 58 | 58 | end |
| 59 | + | |
| 60 | + should 'return comment counts grouped by paragraph' do | |
| 61 | + article = fast_create(TextArticle, :profile_id => person.id, :name => "Some thing", :published => false) | |
| 62 | + fast_create(Comment, :paragraph_uuid => '1', :source_id => article.id) | |
| 63 | + fast_create(Comment, :paragraph_uuid => nil, :source_id => article.id) | |
| 64 | + fast_create(Comment, :paragraph_uuid => '2', :source_id => article.id) | |
| 65 | + fast_create(Comment, :paragraph_uuid => '2', :source_id => article.id) | |
| 66 | + get "/api/v1/articles/#{article.id}/comment_paragraph_plugin/comments/count?#{params.to_query}" | |
| 67 | + | |
| 68 | + json = JSON.parse(last_response.body) | |
| 69 | + assert_equal({"1"=>1, ""=>1, "2"=>2}, json) | |
| 70 | + end | |
| 59 | 71 | end | ... | ... |