diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index bd1cd30..73cc18f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -503,7 +503,7 @@ module ApplicationHelper environment.top_level_categories.each do |toplevel| next if toplevel.is_a?(ProductCategory) # FIXME - toplevel.children_for_menu do |cat| + ([toplevel] + toplevel.children_for_menu).each do |cat| if cat.top_level? result << '
' result << icon_button( :down, _('open'), '#', :onclick => 'open_close_cat(this); return false' ) diff --git a/test/functional/cms_controller_test.rb b/test/functional/cms_controller_test.rb index 4dd1ae6..ae240da 100644 --- a/test/functional/cms_controller_test.rb +++ b/test/functional/cms_controller_test.rb @@ -236,10 +236,10 @@ class CmsControllerTest < Test::Unit::TestCase should 'display checkboxes for selecting categories' do env = Environment.default - top = env.categories.build(:name => 'Top-Level category'); top.save! - c1 = env.categories.build(:name => "Test category 1", :parent_id => top.id); c1.save! - c2 = env.categories.build(:name => "Test category 2", :parent_id => top.id); c2.save! - c3 = env.categories.build(:name => "Test Category 3", :parent_id => top.id); c3.save! + top = env.categories.build(:display_in_menu => true, :name => 'Top-Level category'); top.save! + c1 = env.categories.build(:display_in_menu => true, :name => "Test category 1", :parent_id => top.id); c1.save! + c2 = env.categories.build(:display_in_menu => true, :name => "Test category 2", :parent_id => top.id); c2.save! + c3 = env.categories.build(:display_in_menu => true, :name => "Test Category 3", :parent_id => top.id); c3.save! article = Article.new(:name => 'test') article.profile = profile diff --git a/test/functional/profile_editor_controller_test.rb b/test/functional/profile_editor_controller_test.rb index 5fc2998..ef0c2ea 100644 --- a/test/functional/profile_editor_controller_test.rb +++ b/test/functional/profile_editor_controller_test.rb @@ -70,13 +70,13 @@ class ProfileEditorControllerTest < Test::Unit::TestCase end should 'display categories to choose to associate profile' do - cat1 = Environment.default.categories.build(:name => 'top category'); cat1.save! - cat2 = Environment.default.categories.build(:name => 'sub category', :parent => cat1); cat2.save! + cat1 = Environment.default.categories.build(:display_in_menu => true, :name => 'top category'); cat1.save! + cat2 = Environment.default.categories.build(:display_in_menu => true, :name => 'sub category', :parent => cat1); cat2.save! person = create_user('test_user').person get :edit, :profile => 'test_user' assert_response :success assert_template 'edit' - assert_tag :tag => 'input', :attributes => {:name => 'profile_data[category_ids][]'} + assert_tag :tag => 'input', :attributes => {:name => 'profile_data[category_ids][]', :value => cat2.id} end should 'save categorization of profile' do @@ -253,11 +253,11 @@ class ProfileEditorControllerTest < Test::Unit::TestCase end should 'show categories field on edit profile' do - cat1 = Environment.default.categories.create!(:name => 'top category') - cat2 = Environment.default.categories.create!(:name => 'sub category', :parent => cat1) + cat1 = Environment.default.categories.create!(:display_in_menu => true, :name => 'top category') + cat2 = Environment.default.categories.create!(:display_in_menu => true, :name => 'sub category', :parent => cat1) person = create_user('testuser').person get :edit, :profile => 'testuser' - assert_tag :tag => 'input', :attributes => { :type => 'checkbox', :name => 'profile_data[category_ids][]' } + assert_tag :tag => 'input', :attributes => { :type => 'checkbox', :name => 'profile_data[category_ids][]', :value => cat2.id} end should 'render edit template' do diff --git a/test/integration/categories_menu_test.rb b/test/integration/categories_menu_test.rb index a95515f..9c89be3 100644 --- a/test/integration/categories_menu_test.rb +++ b/test/integration/categories_menu_test.rb @@ -4,8 +4,8 @@ class CategoriesMenuTest < ActionController::IntegrationTest def setup Category.delete_all - @cat1 = Category.create!(:name => 'Food', :environment => Environment.default, :display_color => 1) - @cat2 = Category.create!(:name => 'Vegetables', :environment => Environment.default, :parent => @cat1) + @cat1 = Category.create!(:display_in_menu => true, :name => 'Food', :environment => Environment.default, :display_color => 1) + @cat2 = Category.create!(:display_in_menu => true, :name => 'Vegetables', :environment => Environment.default, :parent => @cat1) # all categories must be shown for these tests Category.any_instance.stubs(:display_in_menu?).returns(true) -- libgit2 0.21.2