summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Rydkin <maks.rydkin@gmail.com>2017-09-06 19:26:01 +0300
committerMaxim Rydkin <maks.rydkin@gmail.com>2017-09-07 13:16:15 +0300
commit2a54cbcab83612991c0c61ffed1b2472e4e49047 (patch)
tree482cd233075b531f37aa48c70df38938af08b293
parent0a08e07303246c2129c8dfdd90101fe07f230b7c (diff)
downloadgitlab-ce-2a54cbcab83612991c0c61ffed1b2472e4e49047.tar.gz
fix project_helper.rb and add couple specs to it
-rw-r--r--app/helpers/projects_helper.rb8
-rw-r--r--spec/helpers/projects_helper_spec.rb16
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