5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-24 13:26:21 +00:00
panel/test/models/metadata_boolean_test.rb
f f1fa0c77fb
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix: testear más cosas
2023-10-06 11:18:38 -03:00

86 lines
1.9 KiB
Ruby

# 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
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
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