From 1b7030ea98bad79dfbee3332e6a21f8465c53734 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Wed, 17 Feb 2016 15:39:18 -0300 Subject: [PATCH] Make grouped milestone page public Grouped milestone page now will skip authentication. Solves #13403 which was a created in response to https://gitlab.com/gitlab-com/www-gitlab-com/issues/554 --- CHANGELOG | 1 + .../groups/milestones_controller.rb | 1 + .../groups/milestones_controller_spec.rb | 40 ++++++++++++++----- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f8d86a643c50..8254781ca20e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -26,6 +26,7 @@ v 8.6.0 (unreleased) - Add main language of a project in the list of projects (Tiago Botelho) - Add ability to show archived projects on dashboard, explore and group pages - Fix pagination for filtered dashboard and explore pages + - Make grouped milestone page public (Rodrigo Souto) v 8.5.5 - Ensure removing a project removes associated Todo entries. diff --git a/app/controllers/groups/milestones_controller.rb b/app/controllers/groups/milestones_controller.rb index 0c2a350bc39e..2e4875202459 100644 --- a/app/controllers/groups/milestones_controller.rb +++ b/app/controllers/groups/milestones_controller.rb @@ -1,6 +1,7 @@ class Groups::MilestonesController < Groups::ApplicationController include GlobalMilestones + skip_before_action :authenticate_user!, only: [:show] before_action :projects before_action :milestones, only: [:index] before_action :milestone, only: [:show, :update] diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb index eb0c6ac6d806..afd48e3567f7 100644 --- a/spec/controllers/groups/milestones_controller_spec.rb +++ b/spec/controllers/groups/milestones_controller_spec.rb @@ -8,20 +8,40 @@ let(:title) { '肯定不是中文的问题' } before do - sign_in(user) - group.add_owner(user) - project.team << [user, :master] controller.instance_variable_set(:@group, group) end - describe "#create" do - it "should create group milestone with Chinese title" do - post :create, - group_id: group.id, - milestone: { project_ids: [project.id, project2.id], title: title } + context 'unauthenticated user' do + describe "#show" do + it "should display milestone" do + create(:milestone, title: title, project: project) - expect(response).to redirect_to(group_milestone_path(group, title.to_slug.to_s, title: title)) - expect(Milestone.where(title: title).count).to eq(2) + get :show, + group_id: group.id, + id: title, + title: title + + expect(response).to be_success + end + end + end + + context 'project owner' do + before do + sign_in(user) + group.add_owner(user) + project.team << [user, :master] + end + + describe "#create" do + it "should create group milestone with Chinese title" do + post :create, + group_id: group.id, + milestone: { project_ids: [project.id, project2.id], title: title } + + expect(response).to redirect_to(group_milestone_path(group, title.to_slug.to_s, title: title)) + expect(Milestone.where(title: title).count).to eq(2) + end end end end -- GitLab