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-04-29 12:10:04 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-29 12:10:04 +0300
commite357d4951c53a3ce4f696cf533ce24a4c6350a7e (patch)
treed41e4e557c10c1ac7f32e108d67639c945ed539e /spec/services
parent2f0a7423ed75cdf30f5bcb9d3642f06d130b53b1 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/search/snippet_service_spec.rb50
-rw-r--r--spec/services/search_service_spec.rb12
2 files changed, 35 insertions, 27 deletions
diff --git a/spec/services/search/snippet_service_spec.rb b/spec/services/search/snippet_service_spec.rb
index 430c71880a3..cb2bb0c43fd 100644
--- a/spec/services/search/snippet_service_spec.rb
+++ b/spec/services/search/snippet_service_spec.rb
@@ -3,59 +3,67 @@
require 'spec_helper'
describe Search::SnippetService do
- let(:author) { create(:author) }
- let(:project) { create(:project, :public) }
+ let_it_be(:author) { create(:author) }
+ let_it_be(:project) { create(:project, :public) }
- let!(:public_snippet) { create(:snippet, :public, content: 'password: XXX') }
- let!(:internal_snippet) { create(:snippet, :internal, content: 'password: XXX') }
- let!(:private_snippet) { create(:snippet, :private, content: 'password: XXX', author: author) }
+ let_it_be(:public_snippet) { create(:snippet, :public, title: 'Foo Bar Title') }
+ let_it_be(:internal_snippet) { create(:snippet, :internal, title: 'Foo Bar Title') }
+ let_it_be(:private_snippet) { create(:snippet, :private, title: 'Foo Bar Title', author: author) }
- let!(:project_public_snippet) { create(:snippet, :public, project: project, content: 'password: XXX') }
- let!(:project_internal_snippet) { create(:snippet, :internal, project: project, content: 'password: XXX') }
- let!(:project_private_snippet) { create(:snippet, :private, project: project, content: 'password: XXX') }
+ let_it_be(:project_public_snippet) { create(:snippet, :public, project: project, title: 'Foo Bar Title') }
+ let_it_be(:project_internal_snippet) { create(:snippet, :internal, project: project, title: 'Foo Bar Title') }
+ let_it_be(:project_private_snippet) { create(:snippet, :private, project: project, title: 'Foo Bar Title') }
+
+ let_it_be(:user) { create(:user) }
describe '#execute' do
context 'unauthenticated' do
it 'returns public snippets only' do
- search = described_class.new(nil, search: 'password')
+ search = described_class.new(nil, search: 'bar')
results = search.execute
- expect(results.objects('snippet_blobs')).to match_array [public_snippet, project_public_snippet]
+ expect(results.objects('snippet_titles')).to match_array [public_snippet, project_public_snippet]
end
end
context 'authenticated' do
it 'returns only public & internal snippets for regular users' do
- user = create(:user)
- search = described_class.new(user, search: 'password')
+ search = described_class.new(user, search: 'bar')
results = search.execute
- expect(results.objects('snippet_blobs')).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet]
+ expect(results.objects('snippet_titles')).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet]
end
it 'returns public, internal snippets and project private snippets for project members' do
- member = create(:user)
- project.add_developer(member)
- search = described_class.new(member, search: 'password')
+ project.add_developer(user)
+ search = described_class.new(user, search: 'bar')
results = search.execute
- expect(results.objects('snippet_blobs')).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet, project_private_snippet]
+ expect(results.objects('snippet_titles')).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet, project_private_snippet]
end
it 'returns public, internal and private snippets where user is the author' do
- search = described_class.new(author, search: 'password')
+ search = described_class.new(author, search: 'bar')
results = search.execute
- expect(results.objects('snippet_blobs')).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet]
+ expect(results.objects('snippet_titles')).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet]
end
it 'returns all snippets when user is admin' do
admin = create(:admin)
- search = described_class.new(admin, search: 'password')
+ search = described_class.new(admin, search: 'bar')
results = search.execute
- expect(results.objects('snippet_blobs')).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet, project_private_snippet]
+ expect(results.objects('snippet_titles')).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet, project_private_snippet]
end
end
end
+
+ describe '#scope' do
+ it 'always scopes to snippet_titles' do
+ search = described_class.new(user, search: 'bar')
+
+ expect(search.scope).to eq 'snippet_titles'
+ end
+ end
end
diff --git a/spec/services/search_service_spec.rb b/spec/services/search_service_spec.rb
index 97d7ca6e1ad..77c160ccce2 100644
--- a/spec/services/search_service_spec.rb
+++ b/spec/services/search_service_spec.rb
@@ -151,7 +151,7 @@ describe SearchService do
it 'returns the default scope' do
scope = described_class.new(user, snippets: 'true', scope: 'projects').scope
- expect(scope).to eq 'snippet_blobs'
+ expect(scope).to eq 'snippet_titles'
end
end
@@ -159,7 +159,7 @@ describe SearchService do
it 'returns the default scope' do
scope = described_class.new(user, snippets: 'true').scope
- expect(scope).to eq 'snippet_blobs'
+ expect(scope).to eq 'snippet_titles'
end
end
end
@@ -222,7 +222,7 @@ describe SearchService do
search_results = described_class.new(
user,
snippets: 'true',
- search: snippet.content).search_results
+ search: snippet.title).search_results
expect(search_results).to be_a Gitlab::SnippetSearchResults
end
@@ -270,7 +270,7 @@ describe SearchService do
search_objects = described_class.new(
user,
snippets: 'true',
- search: snippet.content).search_objects
+ search: snippet.title).search_objects
expect(search_objects.first).to eq snippet
end
@@ -383,7 +383,7 @@ describe SearchService do
let(:readable) { create(:project_snippet, project: accessible_project) }
let(:unreadable) { create(:project_snippet, project: inaccessible_project) }
let(:unredacted_results) { ar_relation(ProjectSnippet, readable, unreadable) }
- let(:scope) { 'snippet_blobs' }
+ let(:scope) { 'snippet_titles' }
it 'redacts the inaccessible snippet' do
expect(result).to contain_exactly(readable)
@@ -394,7 +394,7 @@ describe SearchService do
let(:readable) { create(:personal_snippet, :private, author: user) }
let(:unreadable) { create(:personal_snippet, :private) }
let(:unredacted_results) { ar_relation(PersonalSnippet, readable, unreadable) }
- let(:scope) { 'snippet_blobs' }
+ let(:scope) { 'snippet_titles' }
it 'redacts the inaccessible snippet' do
expect(result).to contain_exactly(readable)