Files
once-campfire/test/controllers/accounts/logos_controller_test.rb
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

50 lines
1.2 KiB
Ruby

require "test_helper"
require "vips"
class Accounts::LogosControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in :david
end
test "show stock" do
get account_logo_url
assert_valid_png_response size: 512
end
test "show stock small size" do
get account_logo_url(size: :small)
assert_valid_png_response size: 192
end
test "show custom" do
accounts(:signal).update! logo: fixture_file_upload("moon.jpg", "image/jpeg")
get account_logo_url
assert_valid_png_response size: 512
end
test "show custom small size" do
accounts(:signal).update! logo: fixture_file_upload("moon.jpg", "image/jpeg")
get account_logo_url(size: :small)
assert_valid_png_response size: 192
end
test "destroy" do
accounts(:signal).update! logo: fixture_file_upload("moon.jpg", "image/jpeg")
delete account_logo_url
assert_redirected_to edit_account_url
assert_not accounts(:signal).reload.logo.attached?
end
private
def assert_valid_png_response(size:)
assert_equal @response.headers["content-type"], "image/png"
image = ::Vips::Image.new_from_buffer(@response.body, "")
assert_equal size, image.width
assert_equal size, image.height
end
end