mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-08-07 15:28:45 +09:00
b065b40a34
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`.
35 lines
1.6 KiB
Ruby
35 lines
1.6 KiB
Ruby
require "test_helper"
|
|
|
|
class AccountTest < ActiveSupport::TestCase
|
|
test "settings" do
|
|
accounts(:signal).settings.restrict_room_creation_to_administrators = true
|
|
assert accounts(:signal).settings.restrict_room_creation_to_administrators?
|
|
assert_equal({ "restrict_room_creation_to_administrators" => true }, accounts(:signal)[:settings])
|
|
|
|
accounts(:signal).update!(settings: { "restrict_room_creation_to_administrators" => "true" })
|
|
assert accounts(:signal).reload.settings.restrict_room_creation_to_administrators?
|
|
|
|
accounts(:signal).settings.restrict_room_creation_to_administrators = false
|
|
assert_not accounts(:signal).settings.restrict_room_creation_to_administrators?
|
|
assert_equal({ "restrict_room_creation_to_administrators" => false }, accounts(:signal)[:settings])
|
|
accounts(:signal).update!(settings: { "restrict_room_creation_to_administrators" => "false" })
|
|
assert_not accounts(:signal).reload.settings.restrict_room_creation_to_administrators?
|
|
end
|
|
|
|
test "logo_variant is a resized variant of a variable logo" do
|
|
accounts(:signal).logo.attach io: file_fixture("moon.jpg").open, filename: "moon.jpg", content_type: "image/jpeg"
|
|
|
|
assert_kind_of ActiveStorage::VariantWithRecord, accounts(:signal).logo_variant(:large)
|
|
end
|
|
|
|
test "logo_variant is nil when the logo cannot be resized" do
|
|
accounts(:signal).logo.attach io: file_fixture("pixel.bmp").open, filename: "pixel.bmp", content_type: "image/bmp"
|
|
|
|
assert_nil accounts(:signal).logo_variant(:large)
|
|
end
|
|
|
|
test "logo_variant is nil without a logo" do
|
|
assert_nil accounts(:signal).logo_variant(:large)
|
|
end
|
|
end
|