diff options
Diffstat (limited to 'test/functional/users_controller_test.rb')
-rw-r--r-- | test/functional/users_controller_test.rb | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index a39358152..fee74b874 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -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 |