require File.dirname(__FILE__) + '/../../test_helper' require 'action_view/test_case' class SidebarHelperTest < ActionView::TestCase def setup setup_with_controller end test "should not render anything if no modules" do result = render_sidebar_modules [] assert_select ".sidebar_module", :count => 0 end test "should only render modules with matching position" do modules = [ SidebarModule.new("Module 1", "Module 1 body", 1), SidebarModule.new("Module 2", "Module 2 body", 2) ] result = render_sidebar_modules(modules, :position => 2) assert_select ".sidebar_module", :count => 1 assert_select "#sidebar_module_module-1", :count => 0 assert_select "#sidebar_module_module-2", :count => 1 end test "should render all modules if no position given" do modules = [ SidebarModule.new("Module 1", "Module 1 body", 1), SidebarModule.new("Module 2", "Module 2 body", 2) ] result = render_sidebar_modules(modules) assert_select ".sidebar_module", :count => 2 assert_select "#sidebar_module_module-1", :count => 1 assert_select "#sidebar_module_module-2", :count => 1 end test "should not render modules with empty body" do modules = [ SidebarModule.new("Module 1", "", 1), SidebarModule.new("Module 2", "Module 2 body", 1) ] result = render_sidebar_modules(modules) assert_select ".sidebar_module", :count => 1 assert_select "#sidebar_module_module-1", :count => 0 assert_select "#sidebar_module_module-2", :count => 1 end end