@@ -85,7 +85,8 module QueriesHelper | |||||
85 | else |
|
85 | else | |
86 | # retrieve from session |
|
86 | # retrieve from session | |
87 | @query = Query.find_by_id(session[:query][:id]) if session[:query][:id] |
|
87 | @query = Query.find_by_id(session[:query][:id]) if session[:query][:id] | |
88 |
@query ||= Query.new(:name => "_" |
|
88 | @query ||= Query.new(:name => "_", :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names]) | |
|
89 | @query.project = @project | |||
89 | end |
|
90 | end | |
90 | end |
|
91 | end | |
91 |
|
92 |
@@ -254,6 +254,28 class IssuesControllerTest < ActionController::TestCase | |||||
254 | assert_not_nil assigns(:issue_count_by_group) |
|
254 | assert_not_nil assigns(:issue_count_by_group) | |
255 | end |
|
255 | end | |
256 |
|
256 | |||
|
257 | def test_index_with_query_id_and_project_id_should_set_session_query | |||
|
258 | get :index, :project_id => 1, :query_id => 4 | |||
|
259 | assert_response :success | |||
|
260 | assert_kind_of Hash, session[:query] | |||
|
261 | assert_equal 4, session[:query][:id] | |||
|
262 | assert_equal 1, session[:query][:project_id] | |||
|
263 | end | |||
|
264 | ||||
|
265 | def test_index_with_cross_project_query_in_session_should_show_project_issues | |||
|
266 | q = Query.create!(:name => "test", :user_id => 2, :is_public => false, :project => nil) | |||
|
267 | @request.session[:query] = {:id => q.id, :project_id => 1} | |||
|
268 | ||||
|
269 | with_settings :display_subprojects_issues => '0' do | |||
|
270 | get :index, :project_id => 1 | |||
|
271 | end | |||
|
272 | assert_response :success | |||
|
273 | assert_not_nil assigns(:query) | |||
|
274 | assert_equal q.id, assigns(:query).id | |||
|
275 | assert_equal 1, assigns(:query).project_id | |||
|
276 | assert_equal [1], assigns(:issues).map(&:project_id).uniq | |||
|
277 | end | |||
|
278 | ||||
257 | def test_private_query_should_not_be_available_to_other_users |
|
279 | def test_private_query_should_not_be_available_to_other_users | |
258 | q = Query.create!(:name => "private", :user => User.find(2), :is_public => false, :project => nil) |
|
280 | q = Query.create!(:name => "private", :user => User.find(2), :is_public => false, :project => nil) | |
259 | @request.session[:user_id] = 3 |
|
281 | @request.session[:user_id] = 3 |
General Comments 0
You need to be logged in to leave comments.
Login now