summaryrefslogtreecommitdiff
path: root/spec/helpers/ci/user_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/ci/user_helper_spec.rb')
-rw-r--r--spec/helpers/ci/user_helper_spec.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/helpers/ci/user_helper_spec.rb b/spec/helpers/ci/user_helper_spec.rb
new file mode 100644
index 00000000000..f95bfb355ed
--- /dev/null
+++ b/spec/helpers/ci/user_helper_spec.rb
@@ -0,0 +1,49 @@
+require 'spec_helper'
+
+describe Ci::UserHelper do
+ describe :user_avatar_url do
+ let (:user) { User.new({'avatar_url' => avatar_url}) }
+
+ context 'no avatar' do
+ let (:avatar_url) { nil }
+
+ it 'should return a generic avatar' do
+ user_avatar_url(user).should == 'ci/no_avatar.png'
+ end
+ end
+
+ context 'plain gravatar' do
+ let (:base_url) { 'http://www.gravatar.com/avatar/abcdefgh' }
+ let (:avatar_url) { "#{base_url}?s=40&d=mm" }
+
+ it 'should return gravatar with default size' do
+ user_avatar_url(user).should == "#{base_url}?s=40&d=identicon"
+ end
+
+ it 'should return gravatar with custom size' do
+ user_avatar_url(user, 120).should == "#{base_url}?s=120&d=identicon"
+ end
+ end
+
+ context 'secure gravatar' do
+ let (:base_url) { 'https://secure.gravatar.com/avatar/abcdefgh' }
+ let (:avatar_url) { "#{base_url}?s=40&d=mm" }
+
+ it 'should return gravatar with default size' do
+ user_avatar_url(user).should == "#{base_url}?s=40&d=identicon"
+ end
+
+ it 'should return gravatar with custom size' do
+ user_avatar_url(user, 120).should == "#{base_url}?s=120&d=identicon"
+ end
+ end
+
+ context 'custom avatar' do
+ let (:avatar_url) { 'http://example.local/avatar.png' }
+
+ it 'should return custom avatar' do
+ user_avatar_url(user).should == avatar_url
+ end
+ end
+ end
+end