From 65566d1134c544933d7bea1f7bfa1f50bd9f531f Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Wed, 25 Dec 2013 17:44:04 +0100 Subject: Add tests for sidebar helper. Also fixes DOM id of sidebar modules with spaces in their title. --- test/unit/helper/sidebar_helper_test.rb | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/unit/helper/sidebar_helper_test.rb (limited to 'test') diff --git a/test/unit/helper/sidebar_helper_test.rb b/test/unit/helper/sidebar_helper_test.rb new file mode 100644 index 0000000..10ae63f --- /dev/null +++ b/test/unit/helper/sidebar_helper_test.rb @@ -0,0 +1,50 @@ +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 + -- cgit v1.2.3