Skip to content
This repository has been archived by the owner on Aug 29, 2018. It is now read-only.

Bug 1103131: Let users search for global teams they are a member of #5468

Merged
merged 1 commit into from
May 30, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
24 changes: 22 additions & 2 deletions broker/test/functional/teams_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,30 @@ def teardown
assert_equal member_team.id.to_s, json['data'][0]['id'], json['data'][0].inspect
end

test "global search requires capability" do
test "searching global team requires capability" do
@teams_to_tear_down << (non_member_team = Team.create(name: "global-team-non-member-#{@random}"))

CloudUser.any_instance.stubs(:view_global_teams).returns(false)
get :index, {"search" => "team", "global" => true}
assert_response :forbidden
assert_response :success
assert json = JSON.parse(response.body)
assert_equal [], json['data'], response.body
end

test "searching global member team does not require capability" do
@teams_to_tear_down << (member_team = Team.create(name: "global-team-member-#{@random}"))
@teams_to_tear_down << (non_member_team = Team.create(name: "global-team-non-member-#{@random}"))

member_team.add_members @user
member_team.save
member_team.run_jobs

CloudUser.any_instance.stubs(:view_global_teams).returns(false)
get :index, {"search" => "team", "global" => true}
assert_response :success
assert json = JSON.parse(response.body)
assert_equal 1, json['data'].length, response.body
assert_equal member_team.id.to_s, json['data'][0]['id'], json['data'][0].inspect
end

test "viewing global team requires capability" do
Expand Down
1 change: 0 additions & 1 deletion controller/app/controllers/teams_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ def index

if search
if get_bool(global)
authorize! :view_global_teams, current_user
teams = Team.accessible(current_user).where(owner_id: nil, name: /.*#{Regexp.escape(search)}.*/i).sort({name: 1})
else
teams = Team.accessible(current_user).where(:owner_id.exists => true, :owner_id.ne => "", name: /.*#{Regexp.escape(search)}.*/i).sort({name: 1})
Expand Down