diff --git a/lib/noosfero/api/v1/environments.rb b/lib/noosfero/api/v1/environments.rb index a030430..dc67f9e 100644 --- a/lib/noosfero/api/v1/environments.rb +++ b/lib/noosfero/api/v1/environments.rb @@ -10,6 +10,11 @@ module Noosfero present environment.signup_person_fields end + desc 'Return the tag counts for this environment' + get '/tags' do + present environment.tag_counts + end + get ':id' do local_environment = nil if (params[:id] == "default") diff --git a/test/api/environment_test.rb b/test/api/environment_test.rb index 79f96cc..020dc64 100644 --- a/test/api/environment_test.rb +++ b/test/api/environment_test.rb @@ -68,4 +68,15 @@ class EnvironmentTest < ActiveSupport::TestCase assert_equal context_env.id, json['id'] end + should 'return number of tags' do + person = fast_create(Person) + person.articles.create!(:name => 'article 1', :tag_list => 'first-tag') + person.articles.create!(:name => 'article 2', :tag_list => 'first-tag, second-tag') + person.articles.create!(:name => 'article 3', :tag_list => 'first-tag, second-tag, third-tag') + + get '/api/v1/environment/tags' + json = JSON.parse(last_response.body) + assert_equal({ 'first-tag' => 3, 'second-tag' => 2, 'third-tag' => 1 }, json) + end + end -- libgit2 0.21.2