From 69eba88532a349111e38f5c17038de3f2953dd5b Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt Date: Fri, 20 Oct 2017 16:39:15 +0300 Subject: Make sure we render events for projects within a group --- app/controllers/groups_controller.rb | 11 ++++++++++ changelogs/unreleased/bvl-fix-group-atom-feed.yml | 5 +++++ spec/controllers/groups_controller_spec.rb | 25 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 changelogs/unreleased/bvl-fix-group-atom-feed.yml diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index e23a82d01be..bc3e95f1aed 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -141,6 +141,17 @@ class GroupsController < Groups::ApplicationController end def load_events + params[:sort] ||= 'latest_activity_desc' + + options = {} + options[:only_owned] = true if params[:shared] == '0' + options[:only_shared] = true if params[:shared] == '1' + + @projects = GroupProjectsFinder.new(params: params, group: group, options: options, current_user: current_user) + .execute + .includes(:namespace) + .page(params[:page]) + @events = EventCollection .new(@projects, offset: params[:offset].to_i, filter: event_filter) .to_a diff --git a/changelogs/unreleased/bvl-fix-group-atom-feed.yml b/changelogs/unreleased/bvl-fix-group-atom-feed.yml new file mode 100644 index 00000000000..48f67db7799 --- /dev/null +++ b/changelogs/unreleased/bvl-fix-group-atom-feed.yml @@ -0,0 +1,5 @@ +--- +title: Fix the atom feed for group events +merge_request: 14974 +author: +type: fixed diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index e7631d4d709..5036c1d2226 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -32,6 +32,31 @@ describe GroupsController do end end + describe 'GET #show' do + before do + sign_in(user) + project + end + + context 'as html' do + it 'assigns whether or not a group has children' do + get :show, id: group.to_param + + expect(assigns(:has_children)).to be_truthy + end + end + + context 'as atom' do + it 'assigns events for all the projects in the group' do + create(:event, project: project) + + get :show, id: group.to_param, format: :atom + + expect(assigns(:events)).not_to be_empty + end + end + end + describe 'GET #new' do context 'when creating subgroups', :nested_groups do [true, false].each do |can_create_group_status| -- cgit v1.2.1