REST urls for user memberships.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8146 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2011-12-10 08:37:48 +00:00
parent 532a76f78c
commit 3dcd71a082
5 changed files with 33 additions and 26 deletions
+18 -4
View File
@@ -305,15 +305,29 @@ class UsersControllerTest < ActionController::TestCase
assert_response 403
end
def test_edit_membership
post :edit_membership, :id => 2, :membership_id => 1,
:membership => { :role_ids => [2]}
def test_create_membership
assert_difference 'Member.count' do
post :edit_membership, :id => 7, :membership => { :project_id => 3, :role_ids => [2]}
end
assert_redirected_to :action => 'edit', :id => '7', :tab => 'memberships'
member = Member.first(:order => 'id DESC')
assert_equal User.find(7), member.principal
assert_equal [2], member.role_ids
assert_equal 3, member.project_id
end
def test_update_membership
assert_no_difference 'Member.count' do
put :edit_membership, :id => 2, :membership_id => 1, :membership => { :role_ids => [2]}
end
assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
assert_equal [2], Member.find(1).role_ids
end
def test_destroy_membership
post :destroy_membership, :id => 2, :membership_id => 1
assert_difference 'Member.count', -1 do
delete :destroy_membership, :id => 2, :membership_id => 1
end
assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
assert_nil Member.find_by_id(1)
end
+4 -4
View File
@@ -364,19 +364,19 @@ class RoutingTest < ActionController::IntegrationTest
should_route :get, "/users/current.xml", :controller => 'users', :action => 'show', :id => 'current', :format => 'xml'
should_route :get, "/users/new", :controller => 'users', :action => 'new'
should_route :get, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444'
should_route :get, "/users/222/edit/membership", :controller => 'users', :action => 'edit', :id => '222', :tab => 'membership'
should_route :post, "/users", :controller => 'users', :action => 'create'
should_route :post, "/users.xml", :controller => 'users', :action => 'create', :format => 'xml'
should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123'
should_route :post, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55'
should_route :post, "/users/567/memberships/12/destroy", :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12'
should_route :put, "/users/444", :controller => 'users', :action => 'update', :id => '444'
should_route :put, "/users/444.xml", :controller => 'users', :action => 'update', :id => '444', :format => 'xml'
should_route :delete, "/users/44", :controller => 'users', :action => 'destroy', :id => '44'
should_route :delete, "/users/44.xml", :controller => 'users', :action => 'destroy', :id => '44', :format => 'xml'
should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123'
should_route :put, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55'
should_route :delete, "/users/123/memberships/55", :controller => 'users', :action => 'destroy_membership', :id => '123', :membership_id => '55'
end
context "versions" do