Commit b416e69da6f30828c5c1a778ca7e690c73d6b6d6

Authored by Victor Costa
1 parent e73ac0c3

api: pass current_person in boxes endpoint

Showing 2 changed files with 13 additions and 2 deletions   Show diff stats
app/api/v1/boxes.rb
... ... @@ -13,7 +13,7 @@ module Api
13 13 get do
14 14 profile = environment.send(kind.pluralize).find(params["#{kind}_id"])
15 15 return forbidden! unless profile.display_info_to?(current_person)
16   - present profile.boxes, :with => Entities::Box
  16 + present profile.boxes, with: Entities::Box, current_person: current_person
17 17 end
18 18 end
19 19 end
... ... @@ -33,7 +33,7 @@ module Api
33 33 else
34 34 env = Environment.find(params[:environment_id])
35 35 end
36   - present env.boxes, :with => Entities::Box
  36 + present env.boxes, with: Entities::Box, current_person: current_person
37 37 end
38 38 end
39 39 end
... ...
test/api/boxes_test.rb
... ... @@ -70,6 +70,17 @@ class BoxesTest < ActiveSupport::TestCase
70 70 assert_equal [], json["boxes"].first["blocks"].map {|b| b['id']}
71 71 end
72 72  
  73 + should 'list a block with logged in display_user for a logged user' do
  74 + profile = fast_create(Profile)
  75 + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name)
  76 + block = fast_create(Block, box_id: box.id)
  77 + block.display_user = 'logged'
  78 + block.save!
  79 + get "/api/v1/profiles/#{profile.id}/boxes?#{params.to_query}"
  80 + json = JSON.parse(last_response.body)
  81 + assert_equal [block.id], json["boxes"].first["blocks"].map {|b| b['id']}
  82 + end
  83 +
73 84 should 'not list boxes for user without permission' do
74 85 profile = fast_create(Profile, public_profile: false)
75 86 box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name)
... ...