diff options
Diffstat (limited to 'test/functional/queries_controller_test.rb')
-rw-r--r-- | test/functional/queries_controller_test.rb | 58 |
1 files changed, 48 insertions, 10 deletions
diff --git a/test/functional/queries_controller_test.rb b/test/functional/queries_controller_test.rb index 28423366e..4f0827da8 100644 --- a/test/functional/queries_controller_test.rb +++ b/test/functional/queries_controller_test.rb @@ -600,11 +600,11 @@ class QueriesControllerTest < Redmine::ControllerTest def test_create_admin_projects_query_should_redirect_to_admin_projects @request.session[:user_id] = 1 - q = new_record(ProjectQuery) do + q = new_record(ProjectAdminQuery) do post( :create, :params => { - :type => 'ProjectQuery', + :type => 'ProjectAdminQuery', :default_columns => '1', :f => ["status"], :op => { @@ -615,13 +615,12 @@ class QueriesControllerTest < Redmine::ControllerTest }, :query => { "name" => "test_new_project_public_query", "visibility" => "2" - }, - :admin_projects => 1 + } } ) end - assert_redirected_to :controller => 'admin', :action => 'projects', :query_id => q.id, :admin_projects => 1 + assert_redirected_to :controller => 'admin', :action => 'projects', :query_id => q.id end def test_edit_global_public_query @@ -676,7 +675,7 @@ class QueriesControllerTest < Redmine::ControllerTest get(:edit, :params => {:id => 5}) assert_response :success - assert_select 'input[name="query[description]"][value=?]', 'Description for Oepn issues by priority and tracker' + assert_select 'input[name="query[description]"][value=?]', 'Description for Open issues by priority and tracker' end def test_edit_invalid_query @@ -738,7 +737,7 @@ class QueriesControllerTest < Redmine::ControllerTest end def test_update_admin_projects_query - q = ProjectQuery.create(:name => 'project_query') + q = ProjectAdminQuery.create(:name => 'project_query') @request.session[:user_id] = 1 put( @@ -755,12 +754,11 @@ class QueriesControllerTest < Redmine::ControllerTest }, :query => { "name" => "test_project_query_updated", "visibility" => "2" - }, - :admin_projects => 1 + } } ) - assert_redirected_to :controller => 'admin', :action => 'projects', :query_id => q.id, :admin_projects => 1 + assert_redirected_to :controller => 'admin', :action => 'projects', :query_id => q.id assert Query.find_by_name('test_project_query_updated') end @@ -1032,4 +1030,44 @@ class QueriesControllerTest < Redmine::ControllerTest assert_include ["Development", "10"], json assert_include ["Inactive Activity", "14"], json end + + def test_new_query_is_for_all_checkbox_not_disabled + @request.session[:user_id] = 1 + get :new + assert_response :success + # Verify that the "For all projects" checkbox is not disabled when creating a new query + assert_select 'input[name=query_is_for_all][type=checkbox][checked]:not([disabled])' + end + + def test_new_project_query_is_for_all_checkbox_not_disabled + @request.session[:user_id] = 1 + get(:new, :params => {:project_id => 1}) + assert_response :success + # Verify that the checkbox is not disabled when creating a new query within a project + assert_select 'input[name=query_is_for_all][type=checkbox]:not([checked]):not([disabled])' + end + + def test_edit_global_query_is_for_all_checkbox_disabled + @request.session[:user_id] = 1 + # Create a global query (project_id = nil) + query = IssueQuery.create!(:name => 'test_global_query', :user_id => 1, :project_id => nil) + + get(:edit, :params => {:id => query.id}) + assert_response :success + + # Verify that the "For all projects" checkbox is disabled when editing an existing global query + assert_select 'input[name=query_is_for_all][type=checkbox][checked][disabled]' + end + + def test_edit_project_query_is_for_all_checkbox_not_disabled + @request.session[:user_id] = 1 + # Create a project-specific query + query = IssueQuery.create!(:name => 'test_project_query', :user_id => 1, :project_id => 1) + + get(:edit, :params => {:id => query.id}) + assert_response :success + + # Verify that the checkbox is not disabled when editing a project-specific query + assert_select 'input[name=query_is_for_all][type=checkbox]:not([checked]):not([disabled])' + end end |