heartcombo--simple_form/test/inputs/boolean_input_test.rb

56 lines
2.0 KiB
Ruby
Raw Normal View History

# encoding: UTF-8
require 'test_helper'
class BooleanInputTest < ActionView::TestCase
test 'input should generate a checkbox by default for boolean attributes' do
with_input_for @user, :active, :boolean
assert_select 'input[type=checkbox].boolean#user_active'
assert_select 'label.boolean.optional', 'Active'
end
test 'input does not generate the label with the checkbox when label option is false' do
with_input_for @user, :active, :boolean, :label => false
assert_select 'input[type=checkbox].boolean#user_active'
assert_no_select 'label'
end
test 'input uses inline boolean style by default' do
with_input_for @user, :active, :boolean
assert_select 'input.boolean + label.boolean.optional'
assert_no_select 'label > input'
end
test 'input allows changing default boolean style config to nested, generating a default label' do
swap SimpleForm, :boolean_style => :nested do
with_input_for @user, :active, :boolean
assert_select 'label[for=user_active]', 'Active'
assert_select 'label.boolean > input.boolean'
assert_no_select 'input + label'
end
end
test 'input accepts changing boolean style to nested through given options' do
with_input_for @user, :active, :boolean, :boolean_style => :nested
assert_select 'label[for=user_active]', 'Active'
assert_select 'label.boolean > input.boolean'
assert_no_select 'input + label'
end
test 'input accepts changing boolean style to inline through given options, when default is nested' do
swap SimpleForm, :boolean_style => :nested do
with_input_for @user, :active, :boolean, :boolean_style => :inline
assert_select 'label[for=user_active]', 'Active'
assert_select 'input.boolean + label.boolean'
assert_no_select 'label > input'
end
end
test 'input with nested style allows disabling label' do
swap SimpleForm, :boolean_style => :nested do
with_input_for @user, :active, :boolean, :label => false
assert_select 'input.boolean'
assert_no_select 'label'
end
end
end