diff 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
line wrap: on
line diff
--- a/test/functional/versions_controller_test.rb	Wed Aug 25 16:30:24 2010 +0100
+++ b/test/functional/versions_controller_test.rb	Fri Sep 24 14:06:04 2010 +0100
@@ -31,6 +31,41 @@
     User.current = nil
   end
   
+  def test_index
+    get :index, :project_id => 1
+    assert_response :success
+    assert_template 'index'
+    assert_not_nil assigns(:versions)
+    # Version with no date set appears
+    assert assigns(:versions).include?(Version.find(3))
+    # Completed version doesn't appear
+    assert !assigns(:versions).include?(Version.find(1))
+    # Context menu on issues
+    assert_select "script", :text => Regexp.new(Regexp.escape("new ContextMenu('/issues/context_menu')"))
+  end
+  
+  def test_index_with_completed_versions
+    get :index, :project_id => 1, :completed => 1
+    assert_response :success
+    assert_template 'index'
+    assert_not_nil assigns(:versions)
+    # Version with no date set appears
+    assert assigns(:versions).include?(Version.find(3))
+    # Completed version appears
+    assert assigns(:versions).include?(Version.find(1))
+  end
+
+  def test_index_showing_subprojects_versions
+    @subproject_version = Version.generate!(:project => Project.find(3))
+    get :index, :project_id => 1, :with_subprojects => 1
+    assert_response :success
+    assert_template 'index'
+    assert_not_nil assigns(:versions)
+
+    assert assigns(:versions).include?(Version.find(4)), "Shared version not found"
+    assert assigns(:versions).include?(@subproject_version), "Subproject version not found"
+  end
+
   def test_show
     get :show, :id => 2
     assert_response :success
@@ -40,10 +75,10 @@
     assert_tag :tag => 'h2', :content => /1.0/
   end
   
-  def test_new
+  def test_create
     @request.session[:user_id] = 2 # manager
     assert_difference 'Version.count' do
-      post :new, :project_id => '1', :version => {:name => 'test_add_version'}
+      post :create, :project_id => '1', :version => {:name => 'test_add_version'}
     end
     assert_redirected_to '/projects/ecookbook/settings/versions'
     version = Version.find_by_name('test_add_version')
@@ -51,10 +86,10 @@
     assert_equal 1, version.project_id
   end
   
-  def test_new_from_issue_form
+  def test_create_from_issue_form
     @request.session[:user_id] = 2 # manager
     assert_difference 'Version.count' do
-      xhr :post, :new, :project_id => '1', :version => {:name => 'test_add_version_from_issue_form'}
+      xhr :post, :create, :project_id => '1', :version => {:name => 'test_add_version_from_issue_form'}
     end
     assert_response :success
     assert_select_rjs :replace, 'issue_fixed_version_id'
@@ -73,14 +108,14 @@
   def test_close_completed
     Version.update_all("status = 'open'")
     @request.session[:user_id] = 2
-    post :close_completed, :project_id => 'ecookbook'
+    put :close_completed, :project_id => 'ecookbook'
     assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
     assert_not_nil Version.find_by_status('closed')
   end
   
-  def test_post_edit
+  def test_post_update
     @request.session[:user_id] = 2
-    post :edit, :id => 2, 
+    put :update, :id => 2, 
                 :version => { :name => 'New version name', 
                               :effective_date => Date.today.strftime("%Y-%m-%d")}
     assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
@@ -91,7 +126,7 @@
 
   def test_destroy
     @request.session[:user_id] = 2
-    post :destroy, :id => 3
+    delete :destroy, :id => 3
     assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
     assert_nil Version.find_by_id(3)
   end