Adds functional tests for EnumerationsController.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7987 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2011-11-29 20:04:30 +00:00
parent dd501b1ba3
commit e508677228
1 changed files with 47 additions and 7 deletions

View File

@ -16,18 +16,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.expand_path('../../test_helper', __FILE__)
require 'enumerations_controller'
# Re-raise errors caught by the controller.
class EnumerationsController; def rescue_action(e) raise e end; end
class EnumerationsControllerTest < ActionController::TestCase
fixtures :enumerations, :issues, :users
def setup
@controller = EnumerationsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@request.session[:user_id] = 1 # admin
end
@ -37,6 +30,53 @@ class EnumerationsControllerTest < ActionController::TestCase
assert_template 'index'
end
def test_new
get :new, :type => 'IssuePriority'
assert_response :success
assert_template 'new'
assert_kind_of IssuePriority, assigns(:enumeration)
end
def test_create
assert_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => 'Lowest'}
end
assert_redirected_to '/enumerations?type=IssuePriority'
e = IssuePriority.first(:order => 'id DESC')
assert_equal 'Lowest', e.name
end
def test_create_with_failure
assert_no_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => ''}
end
assert_response :success
assert_template 'new'
end
def test_edit
get :edit, :id => 6
assert_response :success
assert_template 'edit'
end
def test_update
assert_no_difference 'IssuePriority.count' do
post :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => 'New name'}
end
assert_redirected_to '/enumerations?type=IssuePriority'
e = IssuePriority.find(6)
assert_equal 'New name', e.name
end
def test_update_with_failure
assert_no_difference 'IssuePriority.count' do
post :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => ''}
end
assert_response :success
assert_template 'edit'
end
def test_destroy_enumeration_not_in_use
post :destroy, :id => 7
assert_redirected_to :controller => 'enumerations', :action => 'index'