5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-24 15:46:23 +00:00
panel/test/models/metadata_boolean_test.rb

87 lines
1.9 KiB
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
require 'test_helper'
class MetadataBooleanTest < ActiveSupport::TestCase
setup do
@site = build(:site)
@document = build(:document, site: @site.jekyll)
@name = SecureRandom.hex
@layout = build(:layout, site: @site)
@metadata = MetadataBoolean.new(site: @site, document: @document, name: @name, type: 'boolean', layout: @layout)
end
2023-10-06 14:18:38 +00:00
def random_value
[true, false].sample
end
test 'se guarda en el encabezado' do
assert @metadata.front_matter?
end
test 'no se puede indexar' do
assert_not @metadata.indexable?
end
test 'nunca es privado' do
assert_not @metadata.private?
end
test 'son false por defecto' do
assert_equal false, @metadata.default_value
end
2023-10-06 14:18:38 +00:00
test 'aunque sean false nunca son considerados vacíos' do
assert_not @metadata.empty?
end
test 'pueden tener un valor por defecto desde el layout' do
[true, false].each do |default|
@layout = build(:layout, site: @site, metadata: { @name => { 'default' => { I18n.locale.to_s => default } } })
@metadata = MetadataBoolean.new(site: @site, document: @document, name: @name, type: 'boolean', layout: @layout)
assert_equal default, @metadata.default_value
end
end
test 'pueden ser 0' do
@metadata.value = '0'
assert_equal false, @metadata.value
@metadata.save
assert_equal false, @metadata.value
end
test 'pueden ser 1' do
@metadata.value = '1'
assert_equal true, @metadata.value
@metadata.save
assert_equal true, @metadata.value
end
test 'pueden ser false' do
@metadata.value = false
assert_equal false, @metadata.value
@metadata.save
assert_equal false, @metadata.value
end
test 'pueden ser true' do
@metadata.value = true
assert_equal true, @metadata.value
@metadata.save
assert_equal true, @metadata.value
end
end