diff test/functional/queries_controller_test.rb @ 1464:261b3d9a4903 redmine-2.4

Update to Redmine 2.4 branch rev 12663
author Chris Cannam
date Tue, 14 Jan 2014 14:37:42 +0000
parents 433d4f72a19b
children e248c7af89ec
line wrap: on
line diff
--- a/test/functional/queries_controller_test.rb	Fri Jun 14 09:05:06 2013 +0100
+++ b/test/functional/queries_controller_test.rb	Tue Jan 14 14:37:42 2014 +0000
@@ -1,5 +1,5 @@
 # Redmine - project management software
-# Copyright (C) 2006-2012  Jean-Philippe Lang
+# Copyright (C) 2006-2013  Jean-Philippe Lang
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -24,14 +24,18 @@
     User.current = nil
   end
 
+  def test_index
+    get :index
+    # HTML response not implemented
+    assert_response 406
+  end
+
   def test_new_project_query
     @request.session[:user_id] = 2
     get :new, :project_id => 1
     assert_response :success
     assert_template 'new'
-    assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                 :name => 'query[is_public]',
-                                                 :checked => nil }
+    assert_select 'input[name=?][value=0][checked=checked]', 'query[visibility]'
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => nil,
@@ -47,8 +51,7 @@
     get :new
     assert_response :success
     assert_template 'new'
-    assert_no_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                    :name => 'query[is_public]' }
+    assert_select 'input[name=?]', 'query[visibility]', 0
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => 'checked',
@@ -69,7 +72,7 @@
          :f => ["status_id", "assigned_to_id"],
          :op => {"assigned_to_id" => "=", "status_id" => "o"},
          :v => { "assigned_to_id" => ["1"], "status_id" => ["1"]},
-         :query => {"name" => "test_new_project_public_query", "is_public" => "1"}
+         :query => {"name" => "test_new_project_public_query", "visibility" => "2"}
 
     q = Query.find_by_name('test_new_project_public_query')
     assert_redirected_to :controller => 'issues', :action => 'index', :project_id => 'ecookbook', :query_id => q
@@ -86,7 +89,7 @@
          :fields => ["status_id", "assigned_to_id"],
          :operators => {"assigned_to_id" => "=", "status_id" => "o"},
          :values => { "assigned_to_id" => ["1"], "status_id" => ["1"]},
-         :query => {"name" => "test_new_project_private_query", "is_public" => "1"}
+         :query => {"name" => "test_new_project_private_query", "visibility" => "2"}
 
     q = Query.find_by_name('test_new_project_private_query')
     assert_redirected_to :controller => 'issues', :action => 'index', :project_id => 'ecookbook', :query_id => q
@@ -101,14 +104,14 @@
          :fields => ["status_id", "assigned_to_id"],
          :operators => {"assigned_to_id" => "=", "status_id" => "o"},
          :values => { "assigned_to_id" => ["me"], "status_id" => ["1"]},
-         :query => {"name" => "test_new_global_private_query", "is_public" => "1"},
+         :query => {"name" => "test_new_global_private_query", "visibility" => "2"},
          :c => ["", "tracker", "subject", "priority", "category"]
 
     q = Query.find_by_name('test_new_global_private_query')
     assert_redirected_to :controller => 'issues', :action => 'index', :project_id => nil, :query_id => q
     assert !q.is_public?
     assert !q.has_default_columns?
-    assert_equal [:tracker, :subject, :priority, :category], q.columns.collect {|c| c.name}
+    assert_equal [:id, :tracker, :subject, :priority, :category], q.columns.collect {|c| c.name}
     assert q.valid?
   end
 
@@ -134,7 +137,7 @@
          :operators => {"status_id" => "o"},
          :values => {"status_id" => ["1"]},
          :query => {:name => "test_new_with_sort",
-                    :is_public => "1",
+                    :visibility => "2",
                     :sort_criteria => {"0" => ["due_date", "desc"], "1" => ["tracker", ""]}}
 
     query = Query.find_by_name("test_new_with_sort")
@@ -152,14 +155,49 @@
     assert_select 'input[name=?]', 'query[name]'
   end
 
+  def test_create_global_query_from_gantt
+    @request.session[:user_id] = 1
+    assert_difference 'IssueQuery.count' do
+      post :create,
+           :gantt => 1,
+           :operators => {"status_id" => "o"},
+           :values => {"status_id" => ["1"]},
+           :query => {:name => "test_create_from_gantt",
+                      :draw_relations => '1',
+                      :draw_progress_line => '1'}
+      assert_response 302
+    end
+    query = IssueQuery.order('id DESC').first
+    assert_redirected_to "/issues/gantt?query_id=#{query.id}"
+    assert_equal true, query.draw_relations
+    assert_equal true, query.draw_progress_line
+  end
+
+  def test_create_project_query_from_gantt
+    @request.session[:user_id] = 1
+    assert_difference 'IssueQuery.count' do
+      post :create,
+           :project_id => 'ecookbook',
+           :gantt => 1,
+           :operators => {"status_id" => "o"},
+           :values => {"status_id" => ["1"]},
+           :query => {:name => "test_create_from_gantt",
+                      :draw_relations => '0',
+                      :draw_progress_line => '0'}
+      assert_response 302
+    end
+    query = IssueQuery.order('id DESC').first
+    assert_redirected_to "/projects/ecookbook/issues/gantt?query_id=#{query.id}"
+    assert_equal false, query.draw_relations
+    assert_equal false, query.draw_progress_line
+  end
+
   def test_edit_global_public_query
     @request.session[:user_id] = 1
     get :edit, :id => 4
     assert_response :success
     assert_template 'edit'
-    assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                 :name => 'query[is_public]',
-                                                 :checked => 'checked' }
+    assert_select 'input[name=?][value=2][checked=checked]', 'query[visibility]'
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => 'checked',
@@ -171,8 +209,7 @@
     get :edit, :id => 3
     assert_response :success
     assert_template 'edit'
-    assert_no_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                    :name => 'query[is_public]' }
+    assert_select 'input[name=?]', 'query[visibility]', 0
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => 'checked',
@@ -184,8 +221,7 @@
     get :edit, :id => 2
     assert_response :success
     assert_template 'edit'
-    assert_no_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                    :name => 'query[is_public]' }
+    assert_select 'input[name=?]', 'query[visibility]', 0
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => nil,
@@ -197,10 +233,7 @@
     get :edit, :id => 1
     assert_response :success
     assert_template 'edit'
-    assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
-                                                 :name => 'query[is_public]',
-                                                 :checked => 'checked'
-                                                  }
+    assert_select 'input[name=?][value=2][checked=checked]', 'query[visibility]'
     assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
                                                  :name => 'query_is_for_all',
                                                  :checked => nil,
@@ -234,7 +267,7 @@
          :fields => ["status_id", "assigned_to_id"],
          :operators => {"assigned_to_id" => "=", "status_id" => "o"},
          :values => { "assigned_to_id" => ["me"], "status_id" => ["1"]},
-         :query => {"name" => "test_edit_global_private_query", "is_public" => "1"}
+         :query => {"name" => "test_edit_global_private_query", "visibility" => "2"}
 
     assert_redirected_to :controller => 'issues', :action => 'index', :query_id => 3
     q = Query.find_by_name('test_edit_global_private_query')
@@ -251,7 +284,7 @@
          :fields => ["status_id", "assigned_to_id"],
          :operators => {"assigned_to_id" => "=", "status_id" => "o"},
          :values => { "assigned_to_id" => ["1"], "status_id" => ["1"]},
-         :query => {"name" => "test_edit_global_public_query", "is_public" => "1"}
+         :query => {"name" => "test_edit_global_public_query", "visibility" => "2"}
 
     assert_redirected_to :controller => 'issues', :action => 'index', :query_id => 4
     q = Query.find_by_name('test_edit_global_public_query')