]> source.dussan.org Git - redmine.git/commitdiff
Adds functional tests.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 23 Feb 2012 14:39:55 +0000 (14:39 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 23 Feb 2012 14:39:55 +0000 (14:39 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8948 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/attachments_controller_test.rb
test/functional/issue_categories_controller_test.rb
test/functional/issue_statuses_controller_test.rb

index 834e6b08bfdff7c69d3ccb77181c6b4d7019e4c2..4deae88c8d5421f5ba7ac6deae4445c5704d8a6b 100644 (file)
@@ -219,6 +219,11 @@ class AttachmentsControllerTest < ActionController::TestCase
     assert_response 403
   end
 
+  def test_show_invalid_should_respond_with_404
+    get :show, :id => 999
+    assert_response 404
+  end
+
   def test_download_text_file
     get :download, :id => 4
     assert_response :success
index 221d5d1cc3e2383fc86e22eb241f2a559e866199..15bee0ccdb6a908be9092985158fa0b0d54e8016 100644 (file)
@@ -57,6 +57,30 @@ class IssueCategoriesControllerTest < ActionController::TestCase
     assert_template 'new'
   end
 
+  def test_create_from_issue_form
+    @request.session[:user_id] = 2 # manager
+    assert_difference 'IssueCategory.count' do
+      xhr :post, :create, :project_id => '1', :issue_category => {:name => 'New category'}
+    end
+    category = IssueCategory.first(:order => 'id DESC')
+    assert_equal 'New category', category.name
+
+    assert_response :success
+    assert_select_rjs :replace, 'issue_category_id' do
+      assert_select "option[value=#{category.id}][selected=selected]"
+    end
+  end
+
+  def test_create_from_issue_form_with_failure
+    @request.session[:user_id] = 2 # manager
+    assert_no_difference 'IssueCategory.count' do
+      xhr :post, :create, :project_id => '1', :issue_category => {:name => ''}
+    end
+
+    assert_response :success
+    assert_match /alert/, @response.body
+  end
+
   def test_edit
     @request.session[:user_id] = 2
     get :edit, :id => 2
index 33519de61514826715dbb3e9c293c8a0e06469b0..c32999f8049176526c433990f96664c23ba207df 100644 (file)
@@ -49,6 +49,13 @@ class IssueStatusesControllerTest < ActionController::TestCase
     assert_equal 'New status', status.name
   end
 
+  def test_create_with_failure
+    post :create, :issue_status => {:name => ''}
+    assert_response :success
+    assert_template 'new'
+    assert_error_tag :content => /name can't be blank/i
+  end
+
   def test_edit
     get :edit, :id => '3'
     assert_response :success
@@ -62,6 +69,13 @@ class IssueStatusesControllerTest < ActionController::TestCase
     assert_equal 'Renamed status', status.name
   end
 
+  def test_update_with_failure
+    put :update, :id => '3', :issue_status => {:name => ''}
+    assert_response :success
+    assert_template 'edit'
+    assert_error_tag :content => /name can't be blank/i
+  end
+
   def test_destroy
     Issue.delete_all("status_id = 1")