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