From 9e53cbea8ae30a0d7a7075c2a91a65e9f6d88cfc Mon Sep 17 00:00:00 2001 From: Carlos Purificacao Date: Wed, 23 Mar 2016 14:23:48 -0300 Subject: [PATCH] Added boxes support for environment --- lib/noosfero/api/v1/boxes.rb | 10 +++++++--- test/unit/api/environment_test.rb | 13 +++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/noosfero/api/v1/boxes.rb b/lib/noosfero/api/v1/boxes.rb index 27a21b7..9274434 100644 --- a/lib/noosfero/api/v1/boxes.rb +++ b/lib/noosfero/api/v1/boxes.rb @@ -4,7 +4,7 @@ module Noosfero class Boxes < Grape::API - kinds = %w[profile community person enterprise] + kinds = %w[profile community person enterprise environment] kinds.each do |kind| resource kind.pluralize.to_sym do @@ -12,8 +12,12 @@ module Noosfero segment "/:#{kind}_id" do resource :boxes do get do - profile = environment.send(kind.pluralize).find(params["#{kind}_id"]) - present profile.boxes, :with => Entities::Box + if (kind == "environment") + container = Environment.find(params["environment_id"]) + else + container = environment.send(kind.pluralize).find(params["#{kind}_id"]) + end + present container.boxes, :with => Entities::Box end end end diff --git a/test/unit/api/environment_test.rb b/test/unit/api/environment_test.rb index f048fb9..41863ff 100644 --- a/test/unit/api/environment_test.rb +++ b/test/unit/api/environment_test.rb @@ -33,4 +33,17 @@ class SearchTest < ActiveSupport::TestCase json = JSON.parse(last_response.body) assert_equal contextEnv.id, json['id'] end + + should 'return environment boxes' do + default = Environment.default + default.boxes << Box.new + default.boxes[0].blocks << Block.new + default.save! + assert !default.boxes.empty? + get "/api/v1/environments/#{default.id}/boxes" + json = JSON.parse(last_response.body) + assert_equal "boxes", json.first[0] + assert_not_equal [], json.first[1] + end + end \ No newline at end of file -- libgit2 0.21.2