params[:v][field] = options[:values]
end
params[:c] = column_names
+ params[:group_by] = group_by.to_s if group_by.present?
+ params[:t] = totalable_names.map(&:to_s) if totalable_names.any?
params[:sort] = sort_criteria.to_param
params[:set_filter] = 1
params
assert_equal [["active", "1"], ["closed", "5"]], project_status_filter[:values]
end
+
+ def test_as_params_should_serialize_query
+ query = IssueQuery.new(name: "_")
+ query.add_filter('subject', '!~', ['asdf'])
+ query.group_by = 'tracker'
+ query.totalable_names = %w(estimated_hours)
+ query.column_names = %w(id subject estimated_hours)
+ assert hsh = query.as_params
+
+ new_query = IssueQuery.build_from_params(hsh)
+ assert_equal query.filters, new_query.filters
+ assert_equal query.group_by, new_query.group_by
+ assert_equal query.column_names, new_query.column_names
+ assert_equal query.totalable_names, new_query.totalable_names
+ end
end