Commit e8a3a54e2ff1f5115a7f79d9fc044df988c5d6d1

Authored by Eduardo Passos
1 parent 7cc3998c

show only visible and enabled enterprises

Created a scope to show only visible and enabled enterprises on environment statistics block.
Bug fix from #2783
app/models/profile.rb
@@ -123,6 +123,7 @@ class Profile < ActiveRecord::Base @@ -123,6 +123,7 @@ class Profile < ActiveRecord::Base
123 scope :visible, :conditions => { :visible => true } 123 scope :visible, :conditions => { :visible => true }
124 scope :disabled, :conditions => { :visible => false } 124 scope :disabled, :conditions => { :visible => false }
125 scope :public, :conditions => { :visible => true, :public_profile => true } 125 scope :public, :conditions => { :visible => true, :public_profile => true }
  126 + scope :enabled, :conditions => { :enabled => true }
126 127
127 # Subclasses must override this method 128 # Subclasses must override this method
128 scope :more_popular 129 scope :more_popular
plugins/statistics/lib/statistics_block.rb
@@ -85,7 +85,7 @@ class StatisticsBlock < Block @@ -85,7 +85,7 @@ class StatisticsBlock < Block
85 85
86 def enterprises 86 def enterprises
87 if owner.kind_of?(Environment) || owner.kind_of?(Person) 87 if owner.kind_of?(Environment) || owner.kind_of?(Person)
88 - owner.enterprises.visible.count 88 + owner.enterprises.visible.enabled.count
89 else 89 else
90 0 90 0
91 end 91 end
plugins/statistics/test/unit/statistics_block_test.rb
@@ -126,6 +126,19 @@ class StatisticsBlockTest < ActiveSupport::TestCase @@ -126,6 +126,19 @@ class StatisticsBlockTest < ActiveSupport::TestCase
126 assert_equal 2, b.enterprises 126 assert_equal 2, b.enterprises
127 end 127 end
128 128
  129 + should 'return the amount of enabled enterprises' do
  130 + b = StatisticsBlock.new
  131 + e = fast_create(Environment)
  132 +
  133 + fast_create(Enterprise, :environment_id => e.id)
  134 + fast_create(Enterprise, :environment_id => e.id)
  135 + fast_create(Enterprise, :enabled => false, :environment_id => e.id)
  136 +
  137 + b.expects(:owner).at_least_once.returns(e)
  138 +
  139 + assert_equal 2, b.enterprises
  140 + end
  141 +
129 should 'categories return the amount of categories of the Environment' do 142 should 'categories return the amount of categories of the Environment' do
130 b = StatisticsBlock.new 143 b = StatisticsBlock.new
131 e = fast_create(Environment) 144 e = fast_create(Environment)
test/unit/profile_test.rb
@@ -1973,4 +1973,14 @@ class ProfileTest < ActiveSupport::TestCase @@ -1973,4 +1973,14 @@ class ProfileTest < ActiveSupport::TestCase
1973 assert_equal true, profile.disable 1973 assert_equal true, profile.disable
1974 assert_equal false, profile.visible? 1974 assert_equal false, profile.visible?
1975 end 1975 end
1976 -end 1976 +
  1977 + should 'fetch enabled profiles' do
  1978 + p1 = fast_create(Profile, :enabled => true)
  1979 + p2 = fast_create(Profile, :enabled => true)
  1980 + p3 = fast_create(Profile, :enabled => false)
  1981 +
  1982 + assert_includes Profile.enabled, p1
  1983 + assert_includes Profile.enabled, p2
  1984 + assert_not_includes Profile.enabled, p3
  1985 + end
  1986 +end
1977 \ No newline at end of file 1987 \ No newline at end of file