Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-08 12:08:40 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-08 12:08:40 +0300
commit33882b0ed118afb7239b76a074f9ab7cf90558f3 (patch)
tree7637ebe087cb94c9d2b59b62af7ccbe45c9f191d /spec/presenters
parent028d8ac9fdde17782cc002563ecd7c5f77ea699f (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/snippet_blob_presenter_spec.rb50
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