From afeac4e14cd1ac79d8d41b0e95c65e0d93b11edb Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Thu, 10 Sep 2026 18:52:18 +0100 Subject: [PATCH] Make profiles/images#update handle being given no image --- app/controllers/profiles/images_controller.rb | 2 +- test/controllers/profiles/images_controller_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/controllers/profiles/images_controller.rb b/app/controllers/profiles/images_controller.rb index 4fdb48bed..911b31e04 100644 --- a/app/controllers/profiles/images_controller.rb +++ b/app/controllers/profiles/images_controller.rb @@ -7,7 +7,7 @@ module Profiles def update_profile case params[:avatar_action] when "new" - current_user.avatar.attach(params[:user][:avatar]) + current_user.avatar.attach(params.dig(:user, :avatar)) current_user.image_use_gravatar = false when "delete" current_user.avatar.purge_later diff --git a/test/controllers/profiles/images_controller_test.rb b/test/controllers/profiles/images_controller_test.rb index ea256c536..5c0e2c933 100644 --- a/test/controllers/profiles/images_controller_test.rb +++ b/test/controllers/profiles/images_controller_test.rb @@ -51,6 +51,17 @@ module Profiles assert_dom "form > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep" end + def test_update_replace_no_image + user = create(:user) + session_for(user) + + put profile_image_path, :params => { :avatar_action => "new" } + + assert_response :success + assert_template :show + assert_equal "Couldn't update profile image.", flash[:error] + end + def test_update_gravatar user = create(:user) session_for(user) -- 2.47.3