Files
once-campfire/test/controllers/users/avatars_controller_test.rb
T
Mike Dalessio b065b40a34 Disable libvips unfuzzed operations (#226)
and add test coverage for (un)supported file types.

The avatar and logo variants move into the models and return nil for content
types that are no longer variable, so the controllers fall back to the initials
avatar and stock logo icon instead of raising `ActiveStorage::InvariableError`.
2026-07-28 11:57:57 -04:00

35 lines
898 B
Ruby

require "test_helper"
class Users::AvatarsControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in :david
end
test "show initials" do
get user_avatar_url(users(:kevin).avatar_token)
assert_select "text", text: "K"
end
test "show image" do
users(:kevin).update! avatar: fixture_file_upload("moon.jpg", "image/jpeg")
get user_avatar_url(users(:kevin).avatar_token)
assert_response :success
assert_equal "image/webp", @response.content_type
end
test "show initials when image cannot be resized" do
users(:kevin).update! avatar: fixture_file_upload("pixel.bmp", "image/bmp")
get user_avatar_url(users(:kevin).avatar_token)
assert_response :success
assert_select "text", text: "K"
end
test "show image with invalid token responds 404" do
get user_avatar_url("not-a-valid-token")
assert_response :not_found
end
end