Commit 62912d1e617a23c27bf5cdd6ccaac038816a80c7

Authored by Daniela Feitosa
Committed by Antonio Terceiro
1 parent 0d2e6dde

ActionItem1237: fixing profile_count

  * fixing ProfileListBlock profile_count
  * making PeopleBlock count public people on profile_count
app/models/people_block.rb
... ... @@ -28,4 +28,8 @@ class PeopleBlock < ProfileListBlock
28 28 end
29 29 end
30 30  
  31 + def profile_count
  32 + owner.people.count(:conditions => {:public_profile => true})
  33 + end
  34 +
31 35 end
... ...
app/models/profile_list_block.rb
... ... @@ -89,8 +89,8 @@ class ProfileListBlock < Block
89 89 title.gsub('{#}', profile_count.to_s)
90 90 end
91 91  
92   - def profile_count #defined in children
93   - 0
  92 + def profile_count
  93 + owner.profiles.count(:conditions => {:public_profile => true})
94 94 end
95 95  
96 96 end
... ...
test/unit/people_block_test.rb
... ... @@ -24,9 +24,8 @@ class PeopleBlockTest < ActiveSupport::TestCase
24 24 end
25 25  
26 26 should 'list people' do
27   - owner = mock
28   - owner.expects(:id).returns(99)
29   - Person.expects(:find).with(:all, :select => 'id', :conditions => { :environment_id => 99, :public_profile => true}, :limit => 6, :order => 'random()').returns([])
  27 + owner = Environment.create!(:name => 'test environment')
  28 + Person.expects(:find).with(:all, :select => 'id', :conditions => { :environment_id => owner.id, :public_profile => true}, :limit => 6, :order => 'random()').returns([])
30 29 block = PeopleBlock.new
31 30 block.expects(:owner).returns(owner).at_least_once
32 31 block.content
... ... @@ -41,4 +40,13 @@ class PeopleBlockTest < ActiveSupport::TestCase
41 40 instance_eval(&block.footer)
42 41 end
43 42  
  43 + should 'count number of public people' do
  44 + env = Environment.create!(:name => 'test environment')
  45 + private_p = create_user('private', {:environment => env}, {:public_profile => false})
  46 + public_p = create_user('public', {:environment => env}, {:public_profile => true})
  47 +
  48 + env.boxes.first.blocks << block = PeopleBlock.new
  49 + assert_equal 1, block.profile_count
  50 + end
  51 +
44 52 end
... ...
test/unit/profile_list_block_test.rb
... ... @@ -24,7 +24,7 @@ class ProfileListBlockTest &lt; Test::Unit::TestCase
24 24 person2 = create_user('testperson2').person
25 25 person3 = create_user('testperson3').person
26 26  
27   - owner = create_user('mytestuser').person
  27 + owner = Environment.create!(:name => 'test env')
28 28 block = ProfileListBlock.new
29 29 owner.boxes.first.blocks << block
30 30 block.save!
... ... @@ -68,12 +68,36 @@ class ProfileListBlockTest &lt; Test::Unit::TestCase
68 68 end
69 69  
70 70 should 'provide view_title' do
71   - p = ProfileListBlock.new(:title => 'Title from block')
72   - assert_equal 'Title from block', p.view_title
  71 + env = Environment.create!(:name => 'test env')
  72 + block = ProfileListBlock.new(:title => 'Title from block')
  73 + env.boxes.first.blocks << block
  74 + block.save!
  75 + assert_equal 'Title from block', block.view_title
73 76 end
74 77  
75 78 should 'provide view title with variables' do
76   - p = ProfileListBlock.new(:title => '{#} members')
77   - assert_equal '0 members', p.view_title
  79 + env = Environment.create!(:name => 'test env')
  80 + block = ProfileListBlock.new(:title => '{#} members')
  81 + env.boxes.first.blocks << block
  82 + block.save!
  83 + assert_equal '0 members', block.view_title
  84 + end
  85 +
  86 + should 'count number of public profiles' do
  87 + env = Environment.create!(:name => 'test env')
  88 + block = ProfileListBlock.new
  89 + env.boxes.first.blocks << block
  90 + block.save!
  91 +
  92 + priv_p = create_user('private', {:environment => env}, {:public_profile => false})
  93 + pub_p = create_user('public', {:environment => env}, {:public_profile => true})
  94 +
  95 + priv_c = Community.create!(:name => 'com 1', :public_profile => false, :environment => env)
  96 + pub_c = Community.create!(:name => 'com 2', :public_profile => true , :environment => env)
  97 +
  98 + priv_e = Enterprise.create!(:name => 'ent 1', :identifier => 'ent1', :public_profile => false , :environment => env)
  99 + pub_e = Enterprise.create!(:name => 'ent 2', :identifier => 'ent2', :public_profile => true , :environment => env)
  100 +
  101 + assert_equal 3, block.profile_count
78 102 end
79 103 end
... ...