# encoding: utf-8
require 'test_helper'
class ListColumnHelpersTest < ActionView::TestCase
include ActiveScaffold::Helpers::ListColumnHelpers
include ActiveScaffold::Helpers::ViewHelpers
include ::ERB::Util
def setup
@column = ActiveScaffold::DataStructures::Column.new(:a, ModelStub)
@column.form_ui = :select
@record = stub(:a => 'value_2')
@config = stub(:list => stub(:empty_field_text => '-', :association_join_text => ', '), :actions => [:list])
@association_column = ActiveScaffold::DataStructures::Column.new(:b, ModelStub)
@association_column.stubs(:association).returns(stub(:collection? => true))
end
def test_options_for_select_list_ui_for_simple_column
@column.options[:options] = [:value_1, :value_2, :value_3]
assert_equal 'Value 2', format_column_value(@record, @column)
@column.options[:options] = %w(value_1 value_2 value_3)
assert_equal 'value_2', format_column_value(@record, @column)
@column.options[:options] = [%w(text_1 value_1), %w(text_2 value_2), %w(text_3 value_3)]
assert_equal 'text_2', format_column_value(@record, @column)
@column.options[:options] = [[:text_1, :value_1], [:text_2, :value_2], [:text_3, :value_3]]
assert_equal 'Text 2', format_column_value(@record, @column)
end
def test_association_join_text
value = [1, 2, 3, 4].map(&:to_s)
value.each { |v| v.stubs(:to_label).returns(v) }
assert_equal '1, 2, 3, … (4)', format_association_value(value, @association_column, value.size)
@config.list.stubs(:association_join_text => ',
')
assert_equal '1,<br/>2,<br/>3,<br/>… (4)', format_association_value(value, @association_column, value.size)
@config.list.stubs(:association_join_text => ',
'.html_safe)
assert_equal '1,
2,
3,
… (4)', format_association_value(value, @association_column, value.size)
end
private
def active_scaffold_config
@config
end
end