diff options
Diffstat (limited to 'spec/controllers/projects_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects_controller_spec.rb | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index ce229fb861a..46c17d6a6fe 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -119,11 +119,6 @@ RSpec.describe ProjectsController do get :activity, params: { namespace_id: project.namespace, id: project, format: :json } expect(json_response['html']).to eq("\n") - end - - it 'filters out invisible event when calculating the count' do - get :activity, params: { namespace_id: project.namespace, id: project, format: :json } - expect(json_response['count']).to eq(0) end end @@ -464,12 +459,6 @@ RSpec.describe ProjectsController do post :create, params: { project: project_params } end - - it 'tracks a created event for the new_repo experiment', :experiment do - expect(experiment(:new_repo, :candidate)).to track(:project_created).on_next_instance - - post :create, params: { project: project_params } - end end describe 'POST #archive' do @@ -1484,6 +1473,30 @@ RSpec.describe ProjectsController do end end + context 'GET show.atom' do + let_it_be(:public_project) { create(:project, :public) } + let_it_be(:event) { create(:event, :commented, project: public_project, target: create(:note, project: public_project)) } + let_it_be(:invisible_event) { create(:event, :commented, project: public_project, target: create(:note, :confidential, project: public_project)) } + + it 'filters by calling event.visible_to_user?' do + expect(EventCollection).to receive_message_chain(:new, :to_a).and_return([event, invisible_event]) + expect(event).to receive(:visible_to_user?).and_return(true) + expect(invisible_event).to receive(:visible_to_user?).and_return(false) + + get :show, format: :atom, params: { id: public_project, namespace_id: public_project.namespace } + + expect(response).to render_template('xml.atom') + expect(assigns(:events)).to eq([event]) + end + + it 'filters by calling event.visible_to_user?' do + get :show, format: :atom, params: { id: public_project, namespace_id: public_project.namespace } + + expect(response).to render_template('xml.atom') + expect(assigns(:events)).to eq([event]) + end + end + describe 'GET resolve' do shared_examples 'resolvable endpoint' do it 'redirects to the project page' do |