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
path: root/spec/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-18 09:09:31 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-18 09:09:31 +0300
commit0115b63f646be489bb9685dad0e4b0747a79de05 (patch)
tree1739ce6f3e7ab90db561e3415bd34427f4839b40 /spec/lib
parent37ea4b5fbf55e039a2255f0f5d5508e5f479775c (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/search/recent_issues_spec.rb84
-rw-r--r--spec/lib/gitlab/search/recent_merge_requests_spec.rb11
2 files changed, 15 insertions, 80 deletions
diff --git a/spec/lib/gitlab/search/recent_issues_spec.rb b/spec/lib/gitlab/search/recent_issues_spec.rb
index 1822c971a72..19a41d2aa38 100644
--- a/spec/lib/gitlab/search/recent_issues_spec.rb
+++ b/spec/lib/gitlab/search/recent_issues_spec.rb
@@ -2,86 +2,10 @@
require 'spec_helper'
-RSpec.describe ::Gitlab::Search::RecentIssues, :clean_gitlab_redis_shared_state do
- let(:user) { create(:user) }
- let(:issue) { create(:issue, title: 'hello world 1', project: project) }
- let(:recent_issues) { described_class.new(user: user, items_limit: 5) }
- let(:project) { create(:project, :public) }
-
- describe '#log_viewing' do
- it 'adds the item to the recent items' do
- recent_issues.log_view(issue)
-
- results = recent_issues.search('hello')
-
- expect(results).to eq([issue])
- end
-
- it 'removes an item when it exceeds the size items_limit' do
- (1..6).each do |i|
- recent_issues.log_view(create(:issue, title: "issue #{i}", project: project))
- end
-
- results = recent_issues.search('issue')
-
- expect(results.map(&:title)).to contain_exactly('issue 6', 'issue 5', 'issue 4', 'issue 3', 'issue 2')
- end
-
- it 'expires the items after expires_after' do
- recent_issues = described_class.new(user: user, expires_after: 0)
-
- recent_issues.log_view(issue)
-
- results = recent_issues.search('hello')
-
- expect(results).to be_empty
- end
-
- it 'does not include results logged for another user' do
- another_user = create(:user)
- another_issue = create(:issue, title: 'hello world 2', project: project)
- described_class.new(user: another_user).log_view(another_issue)
- recent_issues.log_view(issue)
-
- results = recent_issues.search('hello')
-
- expect(results).to eq([issue])
- end
+RSpec.describe ::Gitlab::Search::RecentIssues do
+ def create_item(content:, project:)
+ create(:issue, title: content, project: project)
end
- describe '#search' do
- let(:issue1) { create(:issue, title: "matching issue 1", project: project) }
- let(:issue2) { create(:issue, title: "matching issue 2", project: project) }
- let(:issue3) { create(:issue, title: "matching issue 3", project: project) }
- let(:non_matching_issue) { create(:issue, title: "different issue", project: project) }
- let!(:non_viewed_issued) { create(:issue, title: "matching but not viewed issue", project: project) }
-
- before do
- recent_issues.log_view(issue1)
- recent_issues.log_view(issue2)
- recent_issues.log_view(issue3)
- recent_issues.log_view(non_matching_issue)
- end
-
- it 'matches partial text in the issue title' do
- expect(recent_issues.search('matching')).to contain_exactly(issue1, issue2, issue3)
- end
-
- it 'returns results sorted by recently viewed' do
- recent_issues.log_view(issue2)
-
- expect(recent_issues.search('matching')).to eq([issue2, issue3, issue1])
- end
-
- it 'does not leak issues you no longer have access to' do
- private_project = create(:project, :public, namespace: create(:group))
- private_issue = create(:issue, project: private_project, title: 'matching issue title')
-
- recent_issues.log_view(private_issue)
-
- private_project.update!(visibility_level: Project::PRIVATE)
-
- expect(recent_issues.search('matching')).not_to include(private_issue)
- end
- end
+ it_behaves_like 'search recent items'
end
diff --git a/spec/lib/gitlab/search/recent_merge_requests_spec.rb b/spec/lib/gitlab/search/recent_merge_requests_spec.rb
new file mode 100644
index 00000000000..c6678ce0342
--- /dev/null
+++ b/spec/lib/gitlab/search/recent_merge_requests_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe ::Gitlab::Search::RecentMergeRequests do
+ def create_item(content:, project:)
+ create(:merge_request, :unique_branches, title: content, target_project: project, source_project: project)
+ end
+
+ it_behaves_like 'search recent items'
+end