mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-02-21 20:20:34 +09:00
50 lines
1.2 KiB
Ruby
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
|