]> source.dussan.org Git - redmine.git/commitdiff
Adds functional tests for EnumerationsController.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 29 Nov 2011 20:04:30 +0000 (20:04 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 29 Nov 2011 20:04:30 +0000 (20:04 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7987 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/enumerations_controller_test.rb

index d306ef9265e95105f27394839baf091bc71c8f3c..05e438b966bf9a2a6db5c661538872345a548aa1 100644 (file)
 # 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'