summaryrefslogtreecommitdiffstats
path: root/test/functional/queries_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/queries_controller_test.rb')
-rw-r--r--test/functional/queries_controller_test.rb58
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