diff --git a/app/models/environment.rb b/app/models/environment.rb index 915f8b5..237d89a 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -129,4 +129,9 @@ class Environment < ActiveRecord::Base self.find(:first, :conditions => [ 'is_default = ?', true ] ) end + # returns an array with the top level categories for this environment. + def top_level_categories + Category.top_level_for(self) + end + end diff --git a/test/unit/environment_test.rb b/test/unit/environment_test.rb index 8e773a3..3ac9a1b 100644 --- a/test/unit/environment_test.rb +++ b/test/unit/environment_test.rb @@ -97,4 +97,16 @@ class EnvironmentTest < Test::Unit::TestCase assert_equal 'bli', v.flexible_template_icon_theme end + def test_should_list_top_level_categories + env = Environment.create!(:name => 'a test environment') + cat1 = Category.create!(:name => 'first category', :environment_id => env.id) + cat2 = Category.create!(:name => 'second category', :environment_id => env.id) + + cats = env.top_level_categories + assert_equal 2, cats.size + assert cats.include?(cat1) + assert cats.include?(cat2) + + end + end -- libgit2 0.21.2