require 'test_helper' module Config class ListTest < Minitest::Test 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_inner_window assert_equal '-', @config.list.empty_field_text assert_equal ', ', @config.list.association_join_text assert_equal true, @config.list.pagination assert_nil @config.list.search_partial assert_equal :no_entries, @config.list.no_entries_message assert_equal :filtered, @config.list.filtered_message refute @config.list.always_show_create refute @config.list.always_show_search 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 refute @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) refute @config.list.sorting.sorts_on?(:id) @config.list.sorting = {:c => :asc, :d => :desc} assert @config.list.sorting.sorts_on?(:c) assert_equal 'ASC', @config.list.sorting.direction_of(:c) assert @config.list.sorting.sorts_on?(:d) assert_equal 'DESC', @config.list.sorting.direction_of(:d) refute @config.list.sorting.sorts_on?(:a) refute @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) refute @config.list.sorting.sorts_on?(:c) refute @config.list.sorting.sorts_on?(:id) 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_inner_window = page_links_window assert_equal page_links_window, @config.list.page_links_inner_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 = %i[assoc_1 assoc_2] assert_equal %i[assoc_1 assoc_2], @config.list.count_includes end end end