comparison test/functional/versions_controller_test.rb @ 22:40f7cfd4df19

* Update to SVN trunk rev 4173
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Fri, 24 Sep 2010 14:06:04 +0100
parents 513646585e45
children 94944d00e43c
comparison
equal deleted inserted replaced
14:1d32c0a0efbf 22:40f7cfd4df19
29 @request = ActionController::TestRequest.new 29 @request = ActionController::TestRequest.new
30 @response = ActionController::TestResponse.new 30 @response = ActionController::TestResponse.new
31 User.current = nil 31 User.current = nil
32 end 32 end
33 33
34 def test_index
35 get :index, :project_id => 1
36 assert_response :success
37 assert_template 'index'
38 assert_not_nil assigns(:versions)
39 # Version with no date set appears
40 assert assigns(:versions).include?(Version.find(3))
41 # Completed version doesn't appear
42 assert !assigns(:versions).include?(Version.find(1))
43 # Context menu on issues
44 assert_select "script", :text => Regexp.new(Regexp.escape("new ContextMenu('/issues/context_menu')"))
45 end
46
47 def test_index_with_completed_versions
48 get :index, :project_id => 1, :completed => 1
49 assert_response :success
50 assert_template 'index'
51 assert_not_nil assigns(:versions)
52 # Version with no date set appears
53 assert assigns(:versions).include?(Version.find(3))
54 # Completed version appears
55 assert assigns(:versions).include?(Version.find(1))
56 end
57
58 def test_index_showing_subprojects_versions
59 @subproject_version = Version.generate!(:project => Project.find(3))
60 get :index, :project_id => 1, :with_subprojects => 1
61 assert_response :success
62 assert_template 'index'
63 assert_not_nil assigns(:versions)
64
65 assert assigns(:versions).include?(Version.find(4)), "Shared version not found"
66 assert assigns(:versions).include?(@subproject_version), "Subproject version not found"
67 end
68
34 def test_show 69 def test_show
35 get :show, :id => 2 70 get :show, :id => 2
36 assert_response :success 71 assert_response :success
37 assert_template 'show' 72 assert_template 'show'
38 assert_not_nil assigns(:version) 73 assert_not_nil assigns(:version)
39 74
40 assert_tag :tag => 'h2', :content => /1.0/ 75 assert_tag :tag => 'h2', :content => /1.0/
41 end 76 end
42 77
43 def test_new 78 def test_create
44 @request.session[:user_id] = 2 # manager 79 @request.session[:user_id] = 2 # manager
45 assert_difference 'Version.count' do 80 assert_difference 'Version.count' do
46 post :new, :project_id => '1', :version => {:name => 'test_add_version'} 81 post :create, :project_id => '1', :version => {:name => 'test_add_version'}
47 end 82 end
48 assert_redirected_to '/projects/ecookbook/settings/versions' 83 assert_redirected_to '/projects/ecookbook/settings/versions'
49 version = Version.find_by_name('test_add_version') 84 version = Version.find_by_name('test_add_version')
50 assert_not_nil version 85 assert_not_nil version
51 assert_equal 1, version.project_id 86 assert_equal 1, version.project_id
52 end 87 end
53 88
54 def test_new_from_issue_form 89 def test_create_from_issue_form
55 @request.session[:user_id] = 2 # manager 90 @request.session[:user_id] = 2 # manager
56 assert_difference 'Version.count' do 91 assert_difference 'Version.count' do
57 xhr :post, :new, :project_id => '1', :version => {:name => 'test_add_version_from_issue_form'} 92 xhr :post, :create, :project_id => '1', :version => {:name => 'test_add_version_from_issue_form'}
58 end 93 end
59 assert_response :success 94 assert_response :success
60 assert_select_rjs :replace, 'issue_fixed_version_id' 95 assert_select_rjs :replace, 'issue_fixed_version_id'
61 version = Version.find_by_name('test_add_version_from_issue_form') 96 version = Version.find_by_name('test_add_version_from_issue_form')
62 assert_not_nil version 97 assert_not_nil version
71 end 106 end
72 107
73 def test_close_completed 108 def test_close_completed
74 Version.update_all("status = 'open'") 109 Version.update_all("status = 'open'")
75 @request.session[:user_id] = 2 110 @request.session[:user_id] = 2
76 post :close_completed, :project_id => 'ecookbook' 111 put :close_completed, :project_id => 'ecookbook'
77 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook' 112 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
78 assert_not_nil Version.find_by_status('closed') 113 assert_not_nil Version.find_by_status('closed')
79 end 114 end
80 115
81 def test_post_edit 116 def test_post_update
82 @request.session[:user_id] = 2 117 @request.session[:user_id] = 2
83 post :edit, :id => 2, 118 put :update, :id => 2,
84 :version => { :name => 'New version name', 119 :version => { :name => 'New version name',
85 :effective_date => Date.today.strftime("%Y-%m-%d")} 120 :effective_date => Date.today.strftime("%Y-%m-%d")}
86 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook' 121 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
87 version = Version.find(2) 122 version = Version.find(2)
88 assert_equal 'New version name', version.name 123 assert_equal 'New version name', version.name
89 assert_equal Date.today, version.effective_date 124 assert_equal Date.today, version.effective_date
90 end 125 end
91 126
92 def test_destroy 127 def test_destroy
93 @request.session[:user_id] = 2 128 @request.session[:user_id] = 2
94 post :destroy, :id => 3 129 delete :destroy, :id => 3
95 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook' 130 assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
96 assert_nil Version.find_by_id(3) 131 assert_nil Version.find_by_id(3)
97 end 132 end
98 133
99 def test_issue_status_by 134 def test_issue_status_by