Commit 30b741ffb0103459663273c3321ea1f2a52e7491
Committed by
Antonio Terceiro
1 parent
5f957438
Exists in
master
and in
29 other branches
ActionItem1238: Noosfero can not count communities (and enterprises too)
Showing
5 changed files
with
40 additions
and
8 deletions
Show diff stats
app/models/communities_block.rb
app/models/enterprises_block.rb
app/models/person.rb
| ... | ... | @@ -128,14 +128,14 @@ class Person < Profile |
| 128 | 128 | :select => 'profiles.*').uniq |
| 129 | 129 | end |
| 130 | 130 | |
| 131 | - def enterprise_memberships | |
| 132 | - memberships(:type => Enterprise.name) | |
| 131 | + def enterprise_memberships(conditions = {}) | |
| 132 | + memberships({:type => Enterprise.name}.merge(conditions)) | |
| 133 | 133 | end |
| 134 | 134 | |
| 135 | 135 | alias :enterprises :enterprise_memberships |
| 136 | 136 | |
| 137 | - def community_memberships | |
| 138 | - memberships(:type => Community.name) | |
| 137 | + def community_memberships(conditions = {}) | |
| 138 | + memberships({:type => Community.name}.merge(conditions)) | |
| 139 | 139 | end |
| 140 | 140 | |
| 141 | 141 | alias :communities :community_memberships | ... | ... |
test/unit/communities_block_test.rb
| ... | ... | @@ -90,10 +90,10 @@ class CommunitiesBlockTest < Test::Unit::TestCase |
| 90 | 90 | should 'count number of owner communities' do |
| 91 | 91 | user = create_user('testuser').person |
| 92 | 92 | |
| 93 | - community1 = Community.create!(:name => 'test community 1', :identifier => 'comm1', :environment => Environment.default) | |
| 93 | + community1 = Community.create!(:name => 'test community 1', :identifier => 'comm1', :environment => Environment.default, :public_profile => true) | |
| 94 | 94 | community1.add_member(user) |
| 95 | 95 | |
| 96 | - community2 = Community.create!(:name => 'test community 2', :identifier => 'comm2', :environment => Environment.default) | |
| 96 | + community2 = Community.create!(:name => 'test community 2', :identifier => 'comm2', :environment => Environment.default, :public_profile => true) | |
| 97 | 97 | community2.add_member(user) |
| 98 | 98 | |
| 99 | 99 | block = CommunitiesBlock.new |
| ... | ... | @@ -102,4 +102,19 @@ class CommunitiesBlockTest < Test::Unit::TestCase |
| 102 | 102 | assert_equal 2, block.profile_count |
| 103 | 103 | end |
| 104 | 104 | |
| 105 | + should 'not count non-public communities' do | |
| 106 | + user = create_user('testuser').person | |
| 107 | + | |
| 108 | + community_public = Community.create!(:name => 'tcommunity 1', :identifier => 'comm1', :environment => Environment.default, :public_profile => true) | |
| 109 | + community_public.add_member(user) | |
| 110 | + | |
| 111 | + community_private = Community.create!(:name => ' community 2', :identifier => 'comm2', :environment => Environment.default, :public_profile => false) | |
| 112 | + community_private.add_member(user) | |
| 113 | + | |
| 114 | + block = CommunitiesBlock.new | |
| 115 | + block.expects(:owner).at_least_once.returns(user) | |
| 116 | + | |
| 117 | + assert_equal 1, block.profile_count | |
| 118 | + end | |
| 119 | + | |
| 105 | 120 | end | ... | ... |
test/unit/enterprises_block_test.rb
| ... | ... | @@ -114,4 +114,21 @@ class EnterprisesBlockTest < Test::Unit::TestCase |
| 114 | 114 | assert_equal 2, block.profile_count |
| 115 | 115 | end |
| 116 | 116 | |
| 117 | + should 'not count non-public enterprises' do | |
| 118 | + user = create_user('testuser').person | |
| 119 | + | |
| 120 | + ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'ent1', :environment => Environment.default, :public_profile => true) | |
| 121 | + ent1.expects(:closed?).returns(false) | |
| 122 | + ent1.add_member(user) | |
| 123 | + | |
| 124 | + ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'ent2', :environment => Environment.default, :public_profile => false) | |
| 125 | + ent2.expects(:closed?).returns(false) | |
| 126 | + ent2.add_member(user) | |
| 127 | + | |
| 128 | + block = EnterprisesBlock.new | |
| 129 | + block.expects(:owner).at_least_once.returns(user) | |
| 130 | + | |
| 131 | + assert_equal 1, block.profile_count | |
| 132 | + end | |
| 133 | + | |
| 117 | 134 | end | ... | ... |