diff --git a/app/controllers/better_together/conversations_controller.rb b/app/controllers/better_together/conversations_controller.rb index e11608ca3..bbcc474e4 100644 --- a/app/controllers/better_together/conversations_controller.rb +++ b/app/controllers/better_together/conversations_controller.rb @@ -226,7 +226,7 @@ def set_conversation # rubocop:todo Metrics/MethodLength :contact_detail, { profile_image_attachment: :blob } ]) - @conversation = scope.find_by(id: params[:id]) + @conversation = scope.find(params[:id]) @set_conversation ||= Conversation.includes(participants: [ :string_translations, :contact_detail, diff --git a/spec/requests/better_together/conversations_request_spec.rb b/spec/requests/better_together/conversations_request_spec.rb index 70e5bbc91..ee8438ad7 100644 --- a/spec/requests/better_together/conversations_request_spec.rb +++ b/spec/requests/better_together/conversations_request_spec.rb @@ -80,6 +80,19 @@ end end + describe 'GET /conversations/:id' do + context 'as a non-participant', :as_user do # rubocop:todo RSpec/ContextWording + it 'returns not found' do + conversation = create('better_together/conversation', creator: manager_user.person).tap do |c| + c.participants << manager_user.person unless c.participants.exists?(manager_user.person.id) + end + + get better_together.conversation_path(conversation, locale: I18n.default_locale) + expect(response).to have_http_status(:not_found) + end + end + end + describe 'PATCH /conversations/:id' do context 'as a regular member', :as_user do # rubocop:todo RSpec/ContextWording let!(:conversation) do