1 require File.dirname(__FILE__) + '/../test_helper'
\r
2 require 'issue_statuses_controller'
\r
4 # Re-raise errors caught by the controller.
\r
5 class IssueStatusesController; def rescue_action(e) raise e end; end
\r
8 class IssueStatusesControllerTest < ActionController::TestCase
\r
9 fixtures :issue_statuses, :issues
\r
12 @controller = IssueStatusesController.new
\r
13 @request = ActionController::TestRequest.new
\r
14 @response = ActionController::TestResponse.new
\r
16 @request.session[:user_id] = 1 # admin
\r
20 # TODO: unify with #list
\r
22 assert_response :success
\r
23 assert_template 'list'
\r
28 assert_response :success
\r
29 assert_template 'new'
\r
33 assert_difference 'IssueStatus.count' do
\r
34 post :create, :issue_status => {:name => 'New status'}
\r
36 assert_redirected_to 'issue_statuses/list'
\r
37 status = IssueStatus.find(:first, :order => 'id DESC')
\r
38 assert_equal 'New status', status.name
\r
42 get :edit, :id => '3'
\r
43 assert_response :success
\r
44 assert_template 'edit'
\r
48 post :update, :id => '3', :issue_status => {:name => 'Renamed status'}
\r
49 assert_redirected_to 'issue_statuses/list'
\r
50 status = IssueStatus.find(3)
\r
51 assert_equal 'Renamed status', status.name
\r
55 Issue.delete_all("status_id = 1")
\r
57 assert_difference 'IssueStatus.count', -1 do
\r
58 post :destroy, :id => '1'
\r
60 assert_redirected_to 'issue_statuses/list'
\r
61 assert_nil IssueStatus.find_by_id(1)
\r
64 def test_destroy_should_block_if_status_in_use
\r
65 assert_not_nil Issue.find_by_status_id(1)
\r
67 assert_no_difference 'IssueStatus.count' do
\r
68 post :destroy, :id => '1'
\r
70 assert_redirected_to 'issue_statuses/list'
\r
71 assert_not_nil IssueStatus.find_by_id(1)
\r