diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index cec19a2..e722eaa 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -404,7 +404,7 @@ module ApplicationHelper } Effect.toggle( div, "slide", { link:link, div:div, afterFinish:end } ) }') - environment.top_level_categories.each do |toplevel| + environment.top_level_categories.select{|i| !i.children.empty?}.each do |toplevel| next unless object.accept_category?(toplevel) # FIXME ([toplevel] + toplevel.children_for_menu).each do |cat| diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb index 325a89e..458292d 100644 --- a/test/unit/application_helper_test.rb +++ b/test/unit/application_helper_test.rb @@ -120,10 +120,40 @@ class ApplicationHelperTest < Test::Unit::TestCase assert_equal 'Profile Member', rolename_for(person, community) end + should 'display categories' do + category = Category.create!(:name => 'parent category for testing', :environment_id => Environment.default) + child = Category.create!(:name => 'child category for testing', :environment => Environment.default, :display_in_menu => true, :parent => category) + owner = create_user('testuser').person + @article = owner.articles.create!(:name => 'ytest') + @article.add_category(category) + expects(:environment).returns(Environment.default) + result = select_categories(:article) + assert_match /parent category/, result + end + + should 'not display categories if has no child' do + category = Category.create!(:name => 'parent category for testing', :environment_id => Environment.default) + owner = create_user('testuser').person + @article = owner.articles.create!(:name => 'ytest') + @article.add_category(category) + expects(:environment).returns(Environment.default) + result = select_categories(:article) + assert_no_match /parent category/, result + end + protected - def content_tag(tag, content, options) + def content_tag(tag, content, options = {}) content.strip end + def javascript_tag(any) + '' + end + def link_to(label, action, options = {}) + label + end + def check_box_tag(name, value = 1, checked = false, options = {}) + name + end end -- libgit2 0.21.2