From 72c2b1b2120099f3317d1941bc0316764b3a652d Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Tue, 3 Jun 2025 18:23:35 +0300 Subject: [PATCH] Split profile image update test --- .../profiles/images_controller_test.rb | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/test/controllers/profiles/images_controller_test.rb b/test/controllers/profiles/images_controller_test.rb index 9a506ef1d..10de7fbae 100644 --- a/test/controllers/profiles/images_controller_test.rb +++ b/test/controllers/profiles/images_controller_test.rb @@ -31,39 +31,55 @@ module Profiles assert_redirected_to login_path(:referer => profile_image_path) end - def test_update + def test_update_replace + image = Rack::Test::UploadedFile.new("test/gpx/fixtures/a.gif", "image/gif") user = create(:user) session_for(user) - # Changing to an uploaded image should work - image = Rack::Test::UploadedFile.new("test/gpx/fixtures/a.gif", "image/gif") put profile_image_path, :params => { :avatar_action => "new", :user => { :avatar => image, :description => user.description } } + assert_redirected_to user_path(user) follow_redirect! assert_response :success assert_template :show assert_dom ".alert-success", :text => "Profile updated." + get profile_image_path + assert_dom "form > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep" + end + + def test_update_gravatar + user = create(:user) + session_for(user) - # Changing to a gravatar image should work put profile_image_path, :params => { :avatar_action => "gravatar", :user => { :description => user.description } } + assert_redirected_to user_path(user) follow_redirect! assert_response :success assert_template :show assert_dom ".alert-success", :text => "Profile updated." + get profile_image_path + assert_dom "form > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar" + end + + def test_update_remove + user = create(:user) + session_for(user) - # Removing the image should work put profile_image_path, :params => { :avatar_action => "delete", :user => { :description => user.description } } + assert_redirected_to user_path(user) follow_redirect! assert_response :success assert_template :show assert_dom ".alert-success", :text => "Profile updated." + get profile_image_path + assert_dom "form > div > div.col-sm-10 > div > input[name=avatar_action][checked]", false assert_dom "form > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked]", false end -- 2.39.5