Commit 5e1647a9881ca6c81eddb631b47686402b163f36

Authored by JoenioCosta
1 parent a522ab44

ActionItem517: not display categories without subcategory

git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2147 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/helpers/application_helper.rb
@@ -404,7 +404,7 @@ module ApplicationHelper @@ -404,7 +404,7 @@ module ApplicationHelper
404 } 404 }
405 Effect.toggle( div, "slide", { link:link, div:div, afterFinish:end } ) 405 Effect.toggle( div, "slide", { link:link, div:div, afterFinish:end } )
406 }') 406 }')
407 - environment.top_level_categories.each do |toplevel| 407 + environment.top_level_categories.select{|i| !i.children.empty?}.each do |toplevel|
408 next unless object.accept_category?(toplevel) 408 next unless object.accept_category?(toplevel)
409 # FIXME 409 # FIXME
410 ([toplevel] + toplevel.children_for_menu).each do |cat| 410 ([toplevel] + toplevel.children_for_menu).each do |cat|
test/unit/application_helper_test.rb
@@ -120,10 +120,40 @@ class ApplicationHelperTest < Test::Unit::TestCase @@ -120,10 +120,40 @@ class ApplicationHelperTest < Test::Unit::TestCase
120 assert_equal 'Profile Member', rolename_for(person, community) 120 assert_equal 'Profile Member', rolename_for(person, community)
121 end 121 end
122 122
  123 + should 'display categories' do
  124 + category = Category.create!(:name => 'parent category for testing', :environment_id => Environment.default)
  125 + child = Category.create!(:name => 'child category for testing', :environment => Environment.default, :display_in_menu => true, :parent => category)
  126 + owner = create_user('testuser').person
  127 + @article = owner.articles.create!(:name => 'ytest')
  128 + @article.add_category(category)
  129 + expects(:environment).returns(Environment.default)
  130 + result = select_categories(:article)
  131 + assert_match /parent category/, result
  132 + end
  133 +
  134 + should 'not display categories if has no child' do
  135 + category = Category.create!(:name => 'parent category for testing', :environment_id => Environment.default)
  136 + owner = create_user('testuser').person
  137 + @article = owner.articles.create!(:name => 'ytest')
  138 + @article.add_category(category)
  139 + expects(:environment).returns(Environment.default)
  140 + result = select_categories(:article)
  141 + assert_no_match /parent category/, result
  142 + end
  143 +
123 protected 144 protected
124 145
125 - def content_tag(tag, content, options) 146 + def content_tag(tag, content, options = {})
126 content.strip 147 content.strip
127 end 148 end
  149 + def javascript_tag(any)
  150 + ''
  151 + end
  152 + def link_to(label, action, options = {})
  153 + label
  154 + end
  155 + def check_box_tag(name, value = 1, checked = false, options = {})
  156 + name
  157 + end
128 158
129 end 159 end