@@ -83,7 +83,8 module QueriesHelper | |||
|
83 | 83 | else |
|
84 | 84 | # retrieve from session |
|
85 | 85 | @query = Query.find_by_id(session[:query][:id]) if session[:query][:id] |
|
86 |
@query ||= Query.new(:name => "_" |
|
|
86 | @query ||= Query.new(:name => "_", :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names]) | |
|
87 | @query.project = @project | |
|
87 | 88 | end |
|
88 | 89 | end |
|
89 | 90 |
@@ -254,6 +254,28 class IssuesControllerTest < ActionController::TestCase | |||
|
254 | 254 | assert_not_nil assigns(:issue_count_by_group) |
|
255 | 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 | 279 | def test_private_query_should_not_be_available_to_other_users |
|
258 | 280 | q = Query.create!(:name => "private", :user => User.find(2), :is_public => false, :project => nil) |
|
259 | 281 | @request.session[:user_id] = 3 |
General Comments 0
You need to be logged in to leave comments.
Login now