From 84f8245abb5b5f1b597cc7f3a9d634df90a90e96 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 1 Jan 2012 19:50:51 +0000 Subject: [PATCH] Test cleanup. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8461 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- .../auth_sources_controller_test.rb | 184 +++++++++--------- 1 file changed, 90 insertions(+), 94 deletions(-) diff --git a/test/functional/auth_sources_controller_test.rb b/test/functional/auth_sources_controller_test.rb index c7d1c013f..dc8c8a9bc 100644 --- a/test/functional/auth_sources_controller_test.rb +++ b/test/functional/auth_sources_controller_test.rb @@ -1,94 +1,90 @@ -require File.expand_path('../../test_helper', __FILE__) - -class AuthSourcesControllerTest < ActionController::TestCase - - def setup - @request.session[:user_id] = 1 - end - - context "get :index" do - setup do - get :index - end - - should_assign_to :auth_sources - should_assign_to :auth_source_pages - should_respond_with :success - should_render_template :index - end - - context "get :new" do - setup do - get :new - end - - should_assign_to :auth_source - should_respond_with :success - should_render_template :new - - should "initilize a new AuthSource" do - assert_equal AuthSource, assigns(:auth_source).class - assert assigns(:auth_source).new_record? - end - end - - context "post :create" do - setup do - post :create, :auth_source => {:name => 'Test'} - end - - should_respond_with :redirect - should_redirect_to("index") {{:action => 'index'}} - should_set_the_flash_to /success/i - end - - context "get :edit" do - setup do - @auth_source = AuthSource.generate!(:name => 'TestEdit') - get :edit, :id => @auth_source.id - end - - should_assign_to(:auth_source) {@auth_source} - should_respond_with :success - should_render_template :edit - end - - context "post :update" do - setup do - @auth_source = AuthSource.generate!(:name => 'TestEdit') - post :update, :id => @auth_source.id, :auth_source => {:name => 'TestUpdate'} - end - - should_respond_with :redirect - should_redirect_to("index") {{:action => 'index'}} - should_set_the_flash_to /update/i - end - - context "post :destroy" do - setup do - @auth_source = AuthSource.generate!(:name => 'TestEdit') - end - - context "without users" do - setup do - post :destroy, :id => @auth_source.id - end - - should_respond_with :redirect - should_redirect_to("index") {{:action => 'index'}} - should_set_the_flash_to /deletion/i - end - - context "with users" do - setup do - User.generate!(:auth_source => @auth_source) - post :destroy, :id => @auth_source.id - end - - should_respond_with :redirect - should "not destroy the AuthSource" do - assert AuthSource.find(@auth_source.id) - end - end - end -end +# Redmine - project management software +# Copyright (C) 2006-2011 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +require File.expand_path('../../test_helper', __FILE__) + +class AuthSourcesControllerTest < ActionController::TestCase + fixtures :users + + def setup + @request.session[:user_id] = 1 + end + + def test_index + get :index + + assert_response :success + assert_template 'index' + assert_not_nil assigns(:auth_sources) + end + + def test_new + get :new + + assert_response :success + assert_template 'new' + assert_kind_of AuthSource, assigns(:auth_source) + assert assigns(:auth_source).new_record? + end + + def test_create + assert_difference 'AuthSource.count' do + post :create, :auth_source => {:name => 'Test'} + end + + assert_redirected_to '/auth_sources' + auth_source = AuthSource.first(:order => 'id DESC') + assert_equal 'Test', auth_source.name + end + + def test_edit + auth_source = AuthSource.generate!(:name => 'TestEdit') + get :edit, :id => auth_source.id + + assert_response :success + assert_template 'edit' + assert_equal auth_source, assigns(:auth_source) + end + + def test_update + auth_source = AuthSource.generate!(:name => 'TestEdit') + post :update, :id => auth_source.id, :auth_source => {:name => 'TestUpdate'} + + assert_redirected_to '/auth_sources' + assert_equal 'TestUpdate', auth_source.reload.name + end + + def test_destroy_without_users + auth_source = AuthSource.generate!(:name => 'TestEdit') + assert_difference 'AuthSource.count', -1 do + post :destroy, :id => auth_source.id + end + + assert_redirected_to '/auth_sources' + end + + def test_destroy_with_users + auth_source = AuthSource.generate!(:name => 'TestEdit') + User.generate!(:auth_source => auth_source) + assert_no_difference 'AuthSource.count' do + post :destroy, :id => auth_source.id + end + + assert_redirected_to '/auth_sources' + assert AuthSource.find(auth_source.id) + end +end