Commit 0c3f76902bc01c24ba9a31684be38a32cd4ab1c7

Authored by Victor Costa
1 parent f56d5e71

api: filter archived articles

lib/noosfero/api/helpers.rb
... ... @@ -5,7 +5,7 @@ require 'grape'
5 5 module API
6 6 module APIHelpers
7 7 PRIVATE_TOKEN_PARAM = :private_token
8   - DEFAULT_ALLOWED_PARAMETERS = [:parent_id, :from, :until, :content_type, :author_id]
  8 + DEFAULT_ALLOWED_PARAMETERS = [:parent_id, :from, :until, :content_type, :author_id, :archived]
9 9  
10 10 include SanitizeParams
11 11 include Noosfero::Plugin::HotSpot
... ...
test/unit/api/articles_test.rb
... ... @@ -625,6 +625,16 @@ class ArticlesTest < ActiveSupport::TestCase
625 625 assert_equal json['articles'].count, 2
626 626 end
627 627  
  628 + should 'find archived articles' do
  629 + article1 = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
  630 + article2 = fast_create(Article, :profile_id => user.person.id, :name => "Some thing", :archived => true)
  631 + params[:archived] = true
  632 + get "/api/v1/articles/?#{params.to_query}"
  633 + json = JSON.parse(last_response.body)
  634 + assert_not_includes json["articles"].map { |a| a["id"] }, article1.id
  635 + assert_includes json["articles"].map { |a| a["id"] }, article2.id
  636 + end
  637 +
628 638 ARTICLE_ATTRIBUTES = %w(followers_count votes_count comments_count)
629 639  
630 640 ARTICLE_ATTRIBUTES.map do |attribute|
... ...
test/unit/api/helpers_test.rb
... ... @@ -138,6 +138,10 @@ class APIHelpersTest < ActiveSupport::TestCase
138 138 assert_not_nil make_conditions_with_parameter('until' => '2010-10-10')[:created_at]
139 139 end
140 140  
  141 + should 'make_conditions_with_parameter return archived parameter if archived was defined' do
  142 + assert_not_nil make_conditions_with_parameter('archived' => true)[:archived]
  143 + end
  144 +
141 145 should 'make_conditions_with_parameter return created_at as the first existent date as parameter if only until is defined' do
142 146 assert_equal Time.at(0).to_datetime, make_conditions_with_parameter(:until => '2010-10-10')[:created_at].min
143 147 end
... ...