summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2015-03-01 10:54:42 +0100
committerJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2015-03-01 10:54:42 +0100
commit93bacb03e5ea33a67bcc8198862a23d2038bf6ef (patch)
tree40eeda3d6162a1a833f2e1b9c95fcd92d566bff6 /spec
parent7486bc0ae33adc141abbca2ea5dea833e56d5409 (diff)
parent51abeaa1bc93862a4d15506a590704f9fc56cfd6 (diff)
downloadgitlab-ce-93bacb03e5ea33a67bcc8198862a23d2038bf6ef.tar.gz
Merge pull request #8890 from sue445/feature/project_api_avatar_url
Expose avatar_url in projects API
Diffstat (limited to 'spec')
-rw-r--r--spec/helpers/application_helper_spec.rb6
-rw-r--r--spec/models/project_spec.rb31
2 files changed, 35 insertions, 2 deletions
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 5a868ad6098..99ff8a32ea5 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -64,8 +64,9 @@ describe ApplicationHelper do
project = create(:project)
project.avatar = File.open(avatar_file_path)
project.save!
+ avatar_url = "http://localhost/uploads/project/avatar/#{ project.id }/gitlab_logo.png"
expect(project_icon("#{project.namespace.to_param}/#{project.to_param}").to_s).to eq(
- "<img alt=\"Gitlab logo\" src=\"/uploads/project/avatar/#{ project.id }/gitlab_logo.png\" />"
+ "<img alt=\"Gitlab logo\" src=\"#{avatar_url}\" />"
)
end
@@ -75,8 +76,9 @@ describe ApplicationHelper do
allow_any_instance_of(Project).to receive(:avatar_in_git).and_return(true)
+ avatar_url = 'http://localhost' + namespace_project_avatar_path(project.namespace, project)
expect(project_icon("#{project.namespace.to_param}/#{project.to_param}").to_s).to match(
- image_tag(namespace_project_avatar_path(project.namespace, project)))
+ image_tag(avatar_url))
end
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index a9df6f137b7..879a63dd9f9 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -326,4 +326,35 @@ describe Project do
expect(project.avatar_type).to eq(['only images allowed'])
end
end
+
+ describe :avatar_url do
+ subject { project.avatar_url }
+
+ let(:project) { create(:project) }
+
+ context 'When avatar file is uploaded' do
+ before do
+ project.update_columns(avatar: 'uploads/avatar.png')
+ allow(project.avatar).to receive(:present?) { true }
+ end
+
+ let(:avatar_path) do
+ "/uploads/project/avatar/#{project.id}/uploads/avatar.png"
+ end
+
+ it { should eq "http://localhost#{avatar_path}" }
+ end
+
+ context 'When avatar file in git' do
+ before do
+ allow(project).to receive(:avatar_in_git) { true }
+ end
+
+ let(:avatar_path) do
+ "/#{project.namespace.name}/#{project.path}/avatar"
+ end
+
+ it { should eq "http://localhost#{avatar_path}" }
+ end
+ end
end