diff --git a/app/controllers/activities_controller.rb b/app/controllers/activities_controller.rb index 930caf24843a..14a9af48b6b6 100644 --- a/app/controllers/activities_controller.rb +++ b/app/controllers/activities_controller.rb @@ -45,20 +45,18 @@ class ActivitiesController < ApplicationController accept_key_auth :index + rescue_from ActiveRecord::RecordNotFound do |exception| + op_handle_warning "Failed to find all resources in activities: #{exception.message}" + render_404(message: I18n.t(:error_can_not_find_all_resources)) + end + def index @events = @activity.events(from: @date_from.to_datetime, to: @date_to.to_datetime) respond_to do |format| - format.html do - respond_html - end - format.atom do - respond_atom - end + format.html { respond_html } + format.atom { respond_atom } end - rescue ActiveRecord::RecordNotFound => e - op_handle_warning "Failed to find all resources in activities: #{e.message}" - render_404 I18n.t(:error_can_not_find_all_resources) end def menu diff --git a/spec/controllers/activities_controller_spec.rb b/spec/controllers/activities_controller_spec.rb index f180975dd12f..eecafbf411d9 100644 --- a/spec/controllers/activities_controller_spec.rb +++ b/spec/controllers/activities_controller_spec.rb @@ -101,6 +101,14 @@ expect(response).to be_successful expect(response).to render_template "index" end + + describe "with not existent user_id" do + it "renders 404" do + get "index", params: { project_id: project.id, user_id: 123123123 } + expect(response).to have_http_status(:not_found) + expect(response).to render_template "common/error" + end + end end describe "without activated activity module" do