require File.join(File.dirname(__FILE__), '../test_helper.rb') class Config::ListTest < Test::Unit::TestCase def setup @config = ActiveScaffold::Config::Core.new :model_stub end def test_label I18n.backend.store_translations :en, :active_scaffold => {:resource => {:one => 'Resource', :other => 'Resources'}} @config.list.label = :resource assert_equal 'Resources', @config.list.label label = 'monkeys' @config.list.label = label assert_equal label, @config.list.label end def test_default_options assert_equal 15, @config.list.per_page assert_equal 2, @config.list.page_links_window assert_equal '-', @config.list.empty_field_text assert_equal ', ', @config.list.association_join_text assert_equal true, @config.list.pagination assert_equal 'search', @config.list.search_partial assert_equal :no_entries, @config.list.no_entries_message assert_equal :filtered, @config.list.filtered_message assert !@config.list.always_show_create assert !@config.list.always_show_search assert !@config.list.mark_records assert @config.list.count_includes.nil? assert_equal 'ModelStubs', @config.list.label assert @config.list.sorting.sorts_on?(:id) assert_equal 'ASC', @config.list.sorting.direction_of(:id) end def test_empty_field_text @config.list.empty_field_text = '(missing)' assert_equal '(missing)', @config.list.empty_field_text end def test_association_join_text @config.list.association_join_text = '
' assert_equal '
', @config.list.association_join_text end def test_no_entries @config.list.no_entries_message = 'No items' assert_equal 'No items', @config.list.no_entries_message end def test_filtered_message @config.list.filtered_message = 'filtered items' assert_equal 'filtered items', @config.list.filtered_message end def test_pagination @config.list.pagination = :infinite assert_equal :infinite, @config.list.pagination @config.list.pagination = false assert !@config.list.pagination end def test_sorting @config.list.sorting = {:a => :desc} assert @config.list.sorting.sorts_on?(:a) assert_equal 'DESC', @config.list.sorting.direction_of(:a) assert !@config.list.sorting.sorts_on?(:id) @config.list.sorting = [{:a => :asc}, {:b => :desc}] assert @config.list.sorting.sorts_on?(:a) assert_equal 'ASC', @config.list.sorting.direction_of(:a) assert @config.list.sorting.sorts_on?(:b) assert_equal 'DESC', @config.list.sorting.direction_of(:b) assert !@config.list.sorting.sorts_on?(:id) end def test_mark_records @config.list.mark_records = true assert @config.list.mark_records end def test_per_page per_page = 35 @config.list.per_page = per_page assert_equal per_page, @config.list.per_page end def test_page_links_window page_links_window = 3 @config.list.page_links_window = page_links_window assert_equal page_links_window, @config.list.page_links_window end def test_always_show_create always_show_create = true @config.list.always_show_create = always_show_create assert_equal always_show_create, @config.list.always_show_create end def test_always_show_create_when_create_is_not_enabled always_show_create = true @config.list.always_show_create = always_show_create @config.actions.exclude :create assert_equal false, @config.list.always_show_create end def test_always_show_search @config.list.always_show_search = true assert @config.list.always_show_search assert_equal 'search', @config.list.search_partial end def test_always_show_search_when_search_is_not_enabled @config.list.always_show_search = true @config.actions.exclude :search assert_equal false, @config.list.always_show_search end def test_always_show_search_when_field_search @config.list.always_show_search = true @config.actions.swap :search, :field_search assert @config.list.always_show_search assert_equal 'field_search', @config.list.search_partial end def test_count_includes @config.list.count_includes = [:assoc_1, :assoc_2] assert_equal [:assoc_1, :assoc_2], @config.list.count_includes end end