Commit 13ed467bf487418e3a73a2267974e39753bbce4e
Committed by
Antonio Terceiro
1 parent
b8d2a3be
Exists in
staging
and in
42 other branches
ActionItem1043: blocks enhancements
* changed 'all <profile>' to simply 'view all' * adding number to profile list blocks title * added mebers info to communities block
Showing
17 changed files
with
174 additions
and
24 deletions
Show diff stats
app/helpers/application_helper.rb
| @@ -454,6 +454,23 @@ module ApplicationHelper | @@ -454,6 +454,23 @@ module ApplicationHelper | ||
| 454 | :class => 'vcard' | 454 | :class => 'vcard' |
| 455 | end | 455 | end |
| 456 | 456 | ||
| 457 | + # displays a link to the community homepage with its image (as generated by | ||
| 458 | + # #profile_image) and its name and number of members beside it. | ||
| 459 | + def community_image_link( profile, size=:portrait, tag='li' ) | ||
| 460 | + name = profile.short_name | ||
| 461 | + content_tag tag, | ||
| 462 | + link_to( | ||
| 463 | + content_tag( 'span', profile_image( profile, size ), :class => 'profile-image' ) + | ||
| 464 | + content_tag( 'span', name, :class => 'org' ) + | ||
| 465 | + content_tag( 'span', n_('1 member', '%s members', profile.members.count) % profile.members.count, :class => 'community-member-count' ), | ||
| 466 | + profile.url, | ||
| 467 | + :onclick => 'document.location.href = this.href', # work-arround for ie. | ||
| 468 | + :class => 'profile_link url', | ||
| 469 | + :help => _('Click on this icon to go to the <b>%s</b>\'s home page') % profile.name, | ||
| 470 | + :title => profile.name ), | ||
| 471 | + :class => 'vcard' | ||
| 472 | + end | ||
| 473 | + | ||
| 457 | def gravatar_url_for(email, options = {}) | 474 | def gravatar_url_for(email, options = {}) |
| 458 | # Ta dando erro de roteamento | 475 | # Ta dando erro de roteamento |
| 459 | url_for( { :gravatar_id => Digest::MD5.hexdigest(email), | 476 | url_for( { :gravatar_id => Digest::MD5.hexdigest(email), |
app/models/block.rb
app/models/communities_block.rb
| 1 | class CommunitiesBlock < ProfileListBlock | 1 | class CommunitiesBlock < ProfileListBlock |
| 2 | 2 | ||
| 3 | + settings_items :limit, :default => 3 | ||
| 4 | + | ||
| 3 | def self.description | 5 | def self.description |
| 4 | __('A block that displays your communities') | 6 | __('A block that displays your communities') |
| 5 | end | 7 | end |
| 6 | 8 | ||
| 7 | def default_title | 9 | def default_title |
| 8 | - __('Communities') | 10 | + __('{#} communities') |
| 11 | + end | ||
| 12 | + | ||
| 13 | + def profile_image_link_method | ||
| 14 | + :community_image_link | ||
| 9 | end | 15 | end |
| 10 | 16 | ||
| 11 | def help | 17 | def help |
| @@ -17,17 +23,21 @@ class CommunitiesBlock < ProfileListBlock | @@ -17,17 +23,21 @@ class CommunitiesBlock < ProfileListBlock | ||
| 17 | case owner | 23 | case owner |
| 18 | when Profile | 24 | when Profile |
| 19 | lambda do | 25 | lambda do |
| 20 | - link_to __('See all'), :profile => owner.identifier, :controller => 'profile', :action => 'communities' | 26 | + link_to __('View all'), :profile => owner.identifier, :controller => 'profile', :action => 'communities' |
| 21 | end | 27 | end |
| 22 | when Environment | 28 | when Environment |
| 23 | lambda do | 29 | lambda do |
| 24 | - link_to __('See all'), :controller => 'search', :action => 'assets', :asset => 'communities' | 30 | + link_to __('View all'), :controller => 'search', :action => 'assets', :asset => 'communities' |
| 25 | end | 31 | end |
| 26 | else | 32 | else |
| 27 | '' | 33 | '' |
| 28 | end | 34 | end |
| 29 | end | 35 | end |
| 30 | 36 | ||
| 37 | + def profile_count | ||
| 38 | + owner.communities.count | ||
| 39 | + end | ||
| 40 | + | ||
| 31 | def profile_finder | 41 | def profile_finder |
| 32 | @profile_finder ||= CommunitiesBlock::Finder.new(self) | 42 | @profile_finder ||= CommunitiesBlock::Finder.new(self) |
| 33 | end | 43 | end |
app/models/enterprises_block.rb
| 1 | class EnterprisesBlock < ProfileListBlock | 1 | class EnterprisesBlock < ProfileListBlock |
| 2 | 2 | ||
| 3 | def default_title | 3 | def default_title |
| 4 | - __('Enterprises') | 4 | + __('{#} enterprises') |
| 5 | end | 5 | end |
| 6 | 6 | ||
| 7 | def help | 7 | def help |
| @@ -17,17 +17,20 @@ class EnterprisesBlock < ProfileListBlock | @@ -17,17 +17,20 @@ class EnterprisesBlock < ProfileListBlock | ||
| 17 | case owner | 17 | case owner |
| 18 | when Profile | 18 | when Profile |
| 19 | lambda do | 19 | lambda do |
| 20 | - link_to __('See all'), :profile => owner.identifier, :controller => 'profile', :action => 'enterprises' | 20 | + link_to __('View all'), :profile => owner.identifier, :controller => 'profile', :action => 'enterprises' |
| 21 | end | 21 | end |
| 22 | when Environment | 22 | when Environment |
| 23 | lambda do | 23 | lambda do |
| 24 | - link_to __('See all'), :controller => 'search', :action => 'assets', :asset => 'enterprises' | 24 | + link_to __('View all'), :controller => 'search', :action => 'assets', :asset => 'enterprises' |
| 25 | end | 25 | end |
| 26 | else | 26 | else |
| 27 | '' | 27 | '' |
| 28 | end | 28 | end |
| 29 | end | 29 | end |
| 30 | 30 | ||
| 31 | + def profile_count | ||
| 32 | + owner.enterprises.count | ||
| 33 | + end | ||
| 31 | 34 | ||
| 32 | def profile_finder | 35 | def profile_finder |
| 33 | @profile_finder ||= EnterprisesBlock::Finder.new(self) | 36 | @profile_finder ||= EnterprisesBlock::Finder.new(self) |
app/models/favorite_enterprises_block.rb
| @@ -16,10 +16,13 @@ class FavoriteEnterprisesBlock < ProfileListBlock | @@ -16,10 +16,13 @@ class FavoriteEnterprisesBlock < ProfileListBlock | ||
| 16 | owner = self.owner | 16 | owner = self.owner |
| 17 | return '' unless owner.kind_of?(Person) | 17 | return '' unless owner.kind_of?(Person) |
| 18 | lambda do | 18 | lambda do |
| 19 | - link_to __('All favorite enterprises'), :profile => owner.identifier, :controller => 'profile', :action => 'favorite_enterprises' | 19 | + link_to __('View all'), :profile => owner.identifier, :controller => 'profile', :action => 'favorite_enterprises' |
| 20 | end | 20 | end |
| 21 | end | 21 | end |
| 22 | 22 | ||
| 23 | + def profile_count | ||
| 24 | + owner.favorite_enterprises.count | ||
| 25 | + end | ||
| 23 | 26 | ||
| 24 | def profile_finder | 27 | def profile_finder |
| 25 | @profile_finder ||= FavoriteEnterprisesBlock::Finder.new(self) | 28 | @profile_finder ||= FavoriteEnterprisesBlock::Finder.new(self) |
app/models/friends_block.rb
| @@ -5,7 +5,7 @@ class FriendsBlock < ProfileListBlock | @@ -5,7 +5,7 @@ class FriendsBlock < ProfileListBlock | ||
| 5 | end | 5 | end |
| 6 | 6 | ||
| 7 | def default_title | 7 | def default_title |
| 8 | - __('Friends') | 8 | + __('{#} friends') |
| 9 | end | 9 | end |
| 10 | 10 | ||
| 11 | def help | 11 | def help |
| @@ -15,7 +15,7 @@ class FriendsBlock < ProfileListBlock | @@ -15,7 +15,7 @@ class FriendsBlock < ProfileListBlock | ||
| 15 | def footer | 15 | def footer |
| 16 | owner_id = owner.identifier | 16 | owner_id = owner.identifier |
| 17 | lambda do | 17 | lambda do |
| 18 | - link_to __('See all'), :profile => owner_id, :controller => 'profile', :action => 'friends' | 18 | + link_to __('View all'), :profile => owner_id, :controller => 'profile', :action => 'friends' |
| 19 | end | 19 | end |
| 20 | end | 20 | end |
| 21 | 21 | ||
| @@ -29,4 +29,8 @@ class FriendsBlock < ProfileListBlock | @@ -29,4 +29,8 @@ class FriendsBlock < ProfileListBlock | ||
| 29 | @profile_finder ||= FriendsBlock::Finder.new(self) | 29 | @profile_finder ||= FriendsBlock::Finder.new(self) |
| 30 | end | 30 | end |
| 31 | 31 | ||
| 32 | + def profile_count | ||
| 33 | + owner.friends.count | ||
| 34 | + end | ||
| 35 | + | ||
| 32 | end | 36 | end |
app/models/members_block.rb
| @@ -5,7 +5,7 @@ class MembersBlock < ProfileListBlock | @@ -5,7 +5,7 @@ class MembersBlock < ProfileListBlock | ||
| 5 | end | 5 | end |
| 6 | 6 | ||
| 7 | def default_title | 7 | def default_title |
| 8 | - _('Members') | 8 | + _('{#} members') |
| 9 | end | 9 | end |
| 10 | 10 | ||
| 11 | def help | 11 | def help |
| @@ -19,6 +19,10 @@ class MembersBlock < ProfileListBlock | @@ -19,6 +19,10 @@ class MembersBlock < ProfileListBlock | ||
| 19 | end | 19 | end |
| 20 | end | 20 | end |
| 21 | 21 | ||
| 22 | + def profile_count | ||
| 23 | + owner.members.count | ||
| 24 | + end | ||
| 25 | + | ||
| 22 | def profile_finder | 26 | def profile_finder |
| 23 | @profile_finder ||= MembersBlock::Finder.new(self) | 27 | @profile_finder ||= MembersBlock::Finder.new(self) |
| 24 | end | 28 | end |
app/models/people_block.rb
| @@ -24,7 +24,7 @@ class PeopleBlock < ProfileListBlock | @@ -24,7 +24,7 @@ class PeopleBlock < ProfileListBlock | ||
| 24 | 24 | ||
| 25 | def footer | 25 | def footer |
| 26 | lambda do | 26 | lambda do |
| 27 | - link_to _('All people'), :controller => 'search', :action => 'assets', :asset => 'people' | 27 | + link_to _('View all'), :controller => 'search', :action => 'assets', :asset => 'people' |
| 28 | end | 28 | end |
| 29 | end | 29 | end |
| 30 | 30 |
app/models/profile_list_block.rb
| @@ -52,7 +52,7 @@ class ProfileListBlock < Block | @@ -52,7 +52,7 @@ class ProfileListBlock < Block | ||
| 52 | 52 | ||
| 53 | # the title of the block. Probably will be overriden in subclasses. | 53 | # the title of the block. Probably will be overriden in subclasses. |
| 54 | def default_title | 54 | def default_title |
| 55 | - _('People and Groups') | 55 | + _('{#} People or Groups') |
| 56 | end | 56 | end |
| 57 | 57 | ||
| 58 | def help | 58 | def help |
| @@ -61,13 +61,14 @@ class ProfileListBlock < Block | @@ -61,13 +61,14 @@ class ProfileListBlock < Block | ||
| 61 | 61 | ||
| 62 | def content | 62 | def content |
| 63 | profiles = self.profiles | 63 | profiles = self.profiles |
| 64 | - title = self.title | 64 | + title = self.view_title |
| 65 | nl = "\n" | 65 | nl = "\n" |
| 66 | + link_method = profile_image_link_method | ||
| 66 | lambda do | 67 | lambda do |
| 67 | count=0 | 68 | count=0 |
| 68 | list = profiles.map {|item| | 69 | list = profiles.map {|item| |
| 69 | count+=1 | 70 | count+=1 |
| 70 | - profile_image_link( item ) #+ | 71 | + send(link_method, item ) #+ |
| 71 | }.join("\n ") | 72 | }.join("\n ") |
| 72 | if list.empty? | 73 | if list.empty? |
| 73 | list = '<div class="common-profile-list-block-none">'+ _('None') +'</div>' | 74 | list = '<div class="common-profile-list-block-none">'+ _('None') +'</div>' |
| @@ -80,4 +81,16 @@ class ProfileListBlock < Block | @@ -80,4 +81,16 @@ class ProfileListBlock < Block | ||
| 80 | end | 81 | end |
| 81 | end | 82 | end |
| 82 | 83 | ||
| 84 | + def profile_image_link_method | ||
| 85 | + :profile_image_link | ||
| 86 | + end | ||
| 87 | + | ||
| 88 | + def view_title | ||
| 89 | + title.gsub('{#}', profile_count.to_s) | ||
| 90 | + end | ||
| 91 | + | ||
| 92 | + def profile_count #defined in children | ||
| 93 | + 0 | ||
| 94 | + end | ||
| 95 | + | ||
| 83 | end | 96 | end |
test/unit/block_test.rb
| @@ -46,6 +46,12 @@ class BlockTest < Test::Unit::TestCase | @@ -46,6 +46,12 @@ class BlockTest < Test::Unit::TestCase | ||
| 46 | assert_equal 'my title', b.title | 46 | assert_equal 'my title', b.title |
| 47 | end | 47 | end |
| 48 | 48 | ||
| 49 | + should 'have default view_title ' do | ||
| 50 | + b = Block.new | ||
| 51 | + b.expects(:title).returns('my title') | ||
| 52 | + assert_equal 'my title', b.view_title | ||
| 53 | + end | ||
| 54 | + | ||
| 49 | should 'have a visible setting' do | 55 | should 'have a visible setting' do |
| 50 | b = Block.new | 56 | b = Block.new |
| 51 | assert b.visible? | 57 | assert b.visible? |
test/unit/communities_block_test.rb
| @@ -49,7 +49,7 @@ class CommunitiesBlockTest < Test::Unit::TestCase | @@ -49,7 +49,7 @@ class CommunitiesBlockTest < Test::Unit::TestCase | ||
| 49 | block = CommunitiesBlock.new | 49 | block = CommunitiesBlock.new |
| 50 | block.expects(:owner).returns(profile) | 50 | block.expects(:owner).returns(profile) |
| 51 | 51 | ||
| 52 | - expects(:__).with('All communities').returns('All communities') | 52 | + expects(:__).with('View all').returns('All communities') |
| 53 | expects(:link_to).with('All communities', :controller => 'profile', :profile => 'theprofile', :action => 'communities') | 53 | expects(:link_to).with('All communities', :controller => 'profile', :profile => 'theprofile', :action => 'communities') |
| 54 | instance_eval(&block.footer) | 54 | instance_eval(&block.footer) |
| 55 | end | 55 | end |
| @@ -59,7 +59,7 @@ class CommunitiesBlockTest < Test::Unit::TestCase | @@ -59,7 +59,7 @@ class CommunitiesBlockTest < Test::Unit::TestCase | ||
| 59 | block = CommunitiesBlock.new | 59 | block = CommunitiesBlock.new |
| 60 | block.expects(:owner).returns(env) | 60 | block.expects(:owner).returns(env) |
| 61 | 61 | ||
| 62 | - expects(:__).with('All communities').returns('All communities') | 62 | + expects(:__).with('View all').returns('All communities') |
| 63 | expects(:link_to).with('All communities', :controller => 'search', :action => 'assets', :asset => 'communities') | 63 | expects(:link_to).with('All communities', :controller => 'search', :action => 'assets', :asset => 'communities') |
| 64 | 64 | ||
| 65 | instance_eval(&block.footer) | 65 | instance_eval(&block.footer) |
| @@ -86,4 +86,19 @@ class CommunitiesBlockTest < Test::Unit::TestCase | @@ -86,4 +86,19 @@ class CommunitiesBlockTest < Test::Unit::TestCase | ||
| 86 | assert_equal [public_community], block.profiles | 86 | assert_equal [public_community], block.profiles |
| 87 | end | 87 | end |
| 88 | 88 | ||
| 89 | + should 'count number of owner communities' do | ||
| 90 | + user = create_user('testuser').person | ||
| 91 | + | ||
| 92 | + community1 = Community.create!(:name => 'test community 1', :identifier => 'comm1', :environment => Environment.default) | ||
| 93 | + community1.add_member(user) | ||
| 94 | + | ||
| 95 | + community2 = Community.create!(:name => 'test community 2', :identifier => 'comm2', :environment => Environment.default) | ||
| 96 | + community2.add_member(user) | ||
| 97 | + | ||
| 98 | + block = CommunitiesBlock.new | ||
| 99 | + block.expects(:owner).at_least_once.returns(user) | ||
| 100 | + | ||
| 101 | + assert_equal 2, block.profile_count | ||
| 102 | + end | ||
| 103 | + | ||
| 89 | end | 104 | end |
test/unit/enterprises_block_test.rb
| @@ -74,7 +74,7 @@ class EnterprisesBlockTest < Test::Unit::TestCase | @@ -74,7 +74,7 @@ class EnterprisesBlockTest < Test::Unit::TestCase | ||
| 74 | block = EnterprisesBlock.new | 74 | block = EnterprisesBlock.new |
| 75 | block.expects(:owner).returns(profile) | 75 | block.expects(:owner).returns(profile) |
| 76 | 76 | ||
| 77 | - expects(:__).with('All enterprises').returns('All enterprises') | 77 | + expects(:__).with('View all').returns('All enterprises') |
| 78 | expects(:link_to).with('All enterprises', :controller => 'profile', :profile => 'theprofile', :action => 'enterprises') | 78 | expects(:link_to).with('All enterprises', :controller => 'profile', :profile => 'theprofile', :action => 'enterprises') |
| 79 | 79 | ||
| 80 | instance_eval(&block.footer) | 80 | instance_eval(&block.footer) |
| @@ -85,7 +85,7 @@ class EnterprisesBlockTest < Test::Unit::TestCase | @@ -85,7 +85,7 @@ class EnterprisesBlockTest < Test::Unit::TestCase | ||
| 85 | block = EnterprisesBlock.new | 85 | block = EnterprisesBlock.new |
| 86 | block.expects(:owner).returns(env) | 86 | block.expects(:owner).returns(env) |
| 87 | 87 | ||
| 88 | - expects(:__).with('All enterprises').returns('All enterprises') | 88 | + expects(:__).with('View all').returns('All enterprises') |
| 89 | expects(:link_to).with('All enterprises', :controller => 'search', :action => 'assets', :asset => 'enterprises') | 89 | expects(:link_to).with('All enterprises', :controller => 'search', :action => 'assets', :asset => 'enterprises') |
| 90 | instance_eval(&block.footer) | 90 | instance_eval(&block.footer) |
| 91 | end | 91 | end |
| @@ -96,4 +96,21 @@ class EnterprisesBlockTest < Test::Unit::TestCase | @@ -96,4 +96,21 @@ class EnterprisesBlockTest < Test::Unit::TestCase | ||
| 96 | assert_equal '', block.footer | 96 | assert_equal '', block.footer |
| 97 | end | 97 | end |
| 98 | 98 | ||
| 99 | + should 'count number of owner enterprises' do | ||
| 100 | + user = create_user('testuser').person | ||
| 101 | + | ||
| 102 | + ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'ent1', :environment => Environment.default) | ||
| 103 | + ent1.expects(:closed?).returns(false) | ||
| 104 | + ent1.add_member(user) | ||
| 105 | + | ||
| 106 | + ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'ent2', :environment => Environment.default) | ||
| 107 | + ent2.expects(:closed?).returns(false) | ||
| 108 | + ent2.add_member(user) | ||
| 109 | + | ||
| 110 | + block = EnterprisesBlock.new | ||
| 111 | + block.expects(:owner).at_least_once.returns(user) | ||
| 112 | + | ||
| 113 | + assert_equal 2, block.profile_count | ||
| 114 | + end | ||
| 115 | + | ||
| 99 | end | 116 | end |
test/unit/favorite_enterprises_block_test.rb
| @@ -48,8 +48,8 @@ class FavoriteEnterprisesBlockTest < ActiveSupport::TestCase | @@ -48,8 +48,8 @@ class FavoriteEnterprisesBlockTest < ActiveSupport::TestCase | ||
| 48 | block = FavoriteEnterprisesBlock.new | 48 | block = FavoriteEnterprisesBlock.new |
| 49 | block.expects(:owner).returns(person) | 49 | block.expects(:owner).returns(person) |
| 50 | 50 | ||
| 51 | - expects(:__).with('All favorite enterprises').returns('All enterprises') | ||
| 52 | - expects(:link_to).with('All enterprises', :controller => 'profile', :profile => 'theprofile', :action => 'favorite_enterprises') | 51 | + expects(:__).with('View all').returns('View all enterprises') |
| 52 | + expects(:link_to).with('View all enterprises', :controller => 'profile', :profile => 'theprofile', :action => 'favorite_enterprises') | ||
| 53 | 53 | ||
| 54 | instance_eval(&block.footer) | 54 | instance_eval(&block.footer) |
| 55 | end | 55 | end |
| @@ -60,4 +60,19 @@ class FavoriteEnterprisesBlockTest < ActiveSupport::TestCase | @@ -60,4 +60,19 @@ class FavoriteEnterprisesBlockTest < ActiveSupport::TestCase | ||
| 60 | assert_equal '', block.footer | 60 | assert_equal '', block.footer |
| 61 | end | 61 | end |
| 62 | 62 | ||
| 63 | + should 'count number of owner favorite enterprises' do | ||
| 64 | + user = create_user('testuser').person | ||
| 65 | + | ||
| 66 | + ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'ent1', :environment => Environment.default) | ||
| 67 | + | ||
| 68 | + ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'ent2', :environment => Environment.default) | ||
| 69 | + | ||
| 70 | + user.favorite_enterprises << [ent1, ent2] | ||
| 71 | + | ||
| 72 | + block = FavoriteEnterprisesBlock.new | ||
| 73 | + block.expects(:owner).at_least_once.returns(user) | ||
| 74 | + | ||
| 75 | + assert_equal 2, block.profile_count | ||
| 76 | + end | ||
| 77 | + | ||
| 63 | end | 78 | end |
test/unit/friends_block_test.rb
| @@ -39,9 +39,25 @@ class FriendsBlockTest < ActiveSupport::TestCase | @@ -39,9 +39,25 @@ class FriendsBlockTest < ActiveSupport::TestCase | ||
| 39 | 39 | ||
| 40 | def self._(s); s; end | 40 | def self._(s); s; end |
| 41 | def self.gettext(s); s; end | 41 | def self.gettext(s); s; end |
| 42 | - expects(:link_to).with('All friends', :profile => 'theuser', :controller => 'profile', :action => 'friends') | 42 | + expects(:link_to).with('View all', :profile => 'theuser', :controller => 'profile', :action => 'friends') |
| 43 | 43 | ||
| 44 | instance_eval(&block.footer) | 44 | instance_eval(&block.footer) |
| 45 | end | 45 | end |
| 46 | 46 | ||
| 47 | + should 'count number of owner friends' do | ||
| 48 | + p1 = create_user('testuser1').person | ||
| 49 | + p2 = create_user('testuser2').person | ||
| 50 | + p3 = create_user('testuser3').person | ||
| 51 | + p4 = create_user('testuser4').person | ||
| 52 | + | ||
| 53 | + p1.add_friend(p2) | ||
| 54 | + p1.add_friend(p3) | ||
| 55 | + p1.add_friend(p4) | ||
| 56 | + | ||
| 57 | + block = FriendsBlock.new | ||
| 58 | + block.expects(:owner).returns(p1) | ||
| 59 | + | ||
| 60 | + assert_equal 3, block.profile_count | ||
| 61 | + end | ||
| 62 | + | ||
| 47 | end | 63 | end |
test/unit/members_block_test.rb
| @@ -52,4 +52,19 @@ class MembersBlockTest < Test::Unit::TestCase | @@ -52,4 +52,19 @@ class MembersBlockTest < Test::Unit::TestCase | ||
| 52 | assert_equal [member3, member1], block.profiles | 52 | assert_equal [member3, member1], block.profiles |
| 53 | end | 53 | end |
| 54 | 54 | ||
| 55 | + should 'count number of owner members' do | ||
| 56 | + profile = create_user('mytestuser').person | ||
| 57 | + owner = mock | ||
| 58 | + | ||
| 59 | + member1 = mock; member1.stubs(:id).returns(1) | ||
| 60 | + member2 = mock; member2.stubs(:id).returns(2) | ||
| 61 | + member3 = mock; member3.stubs(:id).returns(3) | ||
| 62 | + | ||
| 63 | + owner.expects(:members).returns([member1, member2, member3]) | ||
| 64 | + | ||
| 65 | + block = MembersBlock.new | ||
| 66 | + block.expects(:owner).returns(owner) | ||
| 67 | + assert_equal 3, block.profile_count | ||
| 68 | + end | ||
| 55 | end | 69 | end |
| 70 | + |
test/unit/people_block_test.rb
| @@ -36,8 +36,8 @@ class PeopleBlockTest < ActiveSupport::TestCase | @@ -36,8 +36,8 @@ class PeopleBlockTest < ActiveSupport::TestCase | ||
| 36 | block = PeopleBlock.new | 36 | block = PeopleBlock.new |
| 37 | block.stubs(:owner).returns(Environment.default) | 37 | block.stubs(:owner).returns(Environment.default) |
| 38 | 38 | ||
| 39 | - expects(:link_to).with('All people', :controller => 'search', :action => 'assets', :asset => 'people') | ||
| 40 | - expects(:_).with('All people').returns('All people') | 39 | + expects(:_).with('View all').returns('View all people') |
| 40 | + expects(:link_to).with('View all people', :controller => 'search', :action => 'assets', :asset => 'people') | ||
| 41 | instance_eval(&block.footer) | 41 | instance_eval(&block.footer) |
| 42 | end | 42 | end |
| 43 | 43 |
test/unit/profile_list_block_test.rb
| @@ -67,5 +67,13 @@ class ProfileListBlockTest < Test::Unit::TestCase | @@ -67,5 +67,13 @@ class ProfileListBlockTest < Test::Unit::TestCase | ||
| 67 | assert_respond_to ProfileListBlock::Finder.new(nil), :pick_random | 67 | assert_respond_to ProfileListBlock::Finder.new(nil), :pick_random |
| 68 | end | 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 | ||
| 73 | + end | ||
| 74 | + | ||
| 75 | + should 'provide view title with variables' do | ||
| 76 | + p = ProfileListBlock.new(:title => '{#} members') | ||
| 77 | + assert_equal '0 members', p.view_title | ||
| 78 | + end | ||
| 71 | end | 79 | end |