diff options
-rw-r--r-- | app/helpers/projects_helper.rb | 8 | ||||
-rw-r--r-- | spec/helpers/projects_helper_spec.rb | 16 |
2 files changed, 19 insertions, 5 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index c51b27ae24f..79ff57d5a94 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -17,11 +17,13 @@ module ProjectsHelper def link_to_member_avatar(author, opts = {}) default_opts = { avatar: true, name: true, size: 16, author_class: 'author', title: ":name" } opts = default_opts.merge(opts) - classes = %w[avatar avatar-inline] - classes << "s#{opts[:size]}" + + return unless opts[:avatar] + + classes = %W[avatar avatar-inline s#{opts[:size]}] classes << opts[:avatar_class] if opts[:avatar_class] - image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: classes, alt: '') if opts[:avatar] + image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: classes, alt: '') end def link_to_member(project, author, opts = {}, &block) diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 08eec9b2f84..73ade811165 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -193,13 +193,25 @@ describe ProjectsHelper do describe '#link_to_member_avatar' do let(:user) { build_stubbed(:user) } + let(:expected) { double } it 'returns image tag for member avatar' do - allow(helper).to receive(:image_tag).with(nil, { width: 16, class: ["avatar", "avatar-inline", "s16"], alt: "" }) - allow(helper).to receive(:avatar_icon).with(user, 16) + expect(helper).to receive(:avatar_icon).with(user, 16).and_return(expected) + expect(helper).to receive(:image_tag).with(expected, { width: 16, class: ["avatar", "avatar-inline", "s16"], alt: "" }) helper.link_to_member_avatar(user) end + + it 'returns image tag with avatar class' do + expect(helper).to receive(:avatar_icon).with(user, 16).and_return(expected) + expect(helper).to receive(:image_tag).with(expected, { width: 16, class: ["avatar", "avatar-inline", "s16", "any-avatar-class"], alt: "" }) + + helper.link_to_member_avatar(user, avatar_class: "any-avatar-class") + end + + it 'returns no image tag if avatar is nil' do + expect(helper.link_to_member_avatar(user, avatar: nil)).to eq(nil) + end end describe '#link_to_member' do |