diff --git a/app/models/environment.rb b/app/models/environment.rb index 39b2d0d..4cf1199 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -23,6 +23,7 @@ class Environment < ActiveRecord::Base has_many :profiles has_many :categories + has_many :display_categories, :class_name => 'Category', :conditions => 'display_color is not null ', :order => 'display_color' # ################################################# # Attributes diff --git a/test/unit/environment_test.rb b/test/unit/environment_test.rb index f5cdd4f..42cc631 100644 --- a/test/unit/environment_test.rb +++ b/test/unit/environment_test.rb @@ -123,4 +123,17 @@ class EnvironmentTest < Test::Unit::TestCase assert cats.include?(subcat) end + should 'list displayable categories' do + env = Environment.create!(:name => 'a test environment') + cat1 = env.categories.create(:name => 'category one', :display_color => 1) + assert ! cat1.new_record? + + cat2 = env.categories.create(:name => 'category two') + assert !cat2.new_record? + + assert_equal 1, env.display_categories.size + assert env.display_categories.include?(cat1) + assert !env.display_categories.include?(cat2) + end + end -- libgit2 0.21.2