diff options
author | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2015-03-01 10:54:42 +0100 |
---|---|---|
committer | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2015-03-01 10:54:42 +0100 |
commit | 93bacb03e5ea33a67bcc8198862a23d2038bf6ef (patch) | |
tree | 40eeda3d6162a1a833f2e1b9c95fcd92d566bff6 /spec | |
parent | 7486bc0ae33adc141abbca2ea5dea833e56d5409 (diff) | |
parent | 51abeaa1bc93862a4d15506a590704f9fc56cfd6 (diff) | |
download | gitlab-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.rb | 6 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 31 |
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 |