diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-08 12:08:40 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-08 12:08:40 +0300 |
commit | 33882b0ed118afb7239b76a074f9ab7cf90558f3 (patch) | |
tree | 7637ebe087cb94c9d2b59b62af7ccbe45c9f191d /spec/presenters | |
parent | 028d8ac9fdde17782cc002563ecd7c5f77ea699f (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r-- | spec/presenters/snippet_blob_presenter_spec.rb | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/spec/presenters/snippet_blob_presenter_spec.rb b/spec/presenters/snippet_blob_presenter_spec.rb index ec77f8cdb4a..83fe37effc0 100644 --- a/spec/presenters/snippet_blob_presenter_spec.rb +++ b/spec/presenters/snippet_blob_presenter_spec.rb @@ -125,24 +125,70 @@ RSpec.describe SnippetBlobPresenter do let_it_be(:personal_snippet) { create(:personal_snippet, :repository, author: user) } let_it_be(:project_snippet) { create(:project_snippet, :repository, project: project, author: user) } + let(:blob) { snippet.blobs.first } + before do project.add_developer(user) end describe '#raw_path' do - subject { described_class.new(snippet.blobs.first, current_user: user).raw_path } + subject { described_class.new(blob, current_user: user).raw_path } it_behaves_like 'snippet blob raw path' + + context 'with a snippet without a repository' do + let(:personal_snippet) { build(:personal_snippet, author: user, id: 1) } + let(:project_snippet) { build(:project_snippet, project: project, author: user, id: 1) } + let(:blob) { snippet.blob } + + context 'with ProjectSnippet' do + let(:snippet) { project_snippet } + + it 'returns the raw project snippet path' do + expect(subject).to eq("/#{project_snippet.project.full_path}/-/snippets/#{project_snippet.id}/raw") + end + end + + context 'with PersonalSnippet' do + let(:snippet) { personal_snippet } + + it 'returns the raw personal snippet path' do + expect(subject).to eq("/-/snippets/#{personal_snippet.id}/raw") + end + end + end end describe '#raw_url' do - subject { described_class.new(snippet.blobs.first, current_user: user).raw_url } + subject { described_class.new(blob, current_user: user).raw_url } before do stub_default_url_options(host: 'test.host') end it_behaves_like 'snippet blob raw url' + + context 'with a snippet without a repository' do + let(:personal_snippet) { build(:personal_snippet, author: user, id: 1) } + let(:project_snippet) { build(:project_snippet, project: project, author: user, id: 1) } + let(:blob) { snippet.blob } + + context 'with ProjectSnippet' do + let(:snippet) { project_snippet } + + it 'returns the raw project snippet url' do + expect(subject).to eq("http://test.host/#{project_snippet.project.full_path}/-/snippets/#{project_snippet.id}/raw") + end + end + + context 'with PersonalSnippet' do + let(:snippet) { personal_snippet } + + it 'returns the raw personal snippet url' do + expect(subject).to eq("http://test.host/-/snippets/#{personal_snippet.id}/raw") + end + end + end end end |