Skip to content
Snippets Groups Projects
Commit 555678cf authored by John Mason's avatar John Mason
Browse files

Merge branch '228689_improve_test_suite_performance' into 'master'

parents be617d9a a0f0e07f
No related branches found
No related tags found
1 merge request!121854Improve test suite performance
Pipeline #889316586 passed
......@@ -2,29 +2,21 @@
require 'spec_helper'
RSpec.describe 'Snippet elastic search', :js, :elastic_clean, :aggregate_failures, :sidekiq_might_not_need_inline, feature_category: :global_search do
let(:public_project) { create(:project, :public) }
let(:authorized_user) { create(:user) }
let(:authorized_project) { create(:project, namespace: authorized_user.namespace) }
RSpec.describe 'Snippet elastic search', :js, :clean_gitlab_redis_rate_limiting, :elastic_delete_by_query, :aggregate_failures, feature_category: :global_search do
let_it_be(:public_project) { create(:project, :public) }
let_it_be(:regular_user) { create(:user) }
let_it_be(:authorized_user) { create(:user) }
let_it_be(:admin_user) { create(:admin) }
let_it_be(:authorized_project) { create(:project, namespace: authorized_user.namespace) }
before_all do
authorized_project.add_maintainer(authorized_user)
end
before do
stub_ee_application_setting(elasticsearch_search: true, elasticsearch_indexing: true)
authorized_project.add_maintainer(authorized_user)
create(:personal_snippet, :public, title: 'public personal snippet', description: 'a public personal snippet description')
create(:project_snippet, :public, title: 'public project snippet', description: 'a public project snippet description', project: public_project)
create(:personal_snippet, :internal, title: 'internal personal snippet', description: 'a internal personal snippet description')
create(:project_snippet, :internal, title: 'internal project snippet', description: 'a internal project snippet description', project: public_project)
create(:personal_snippet, :private, title: 'private personal snippet', description: 'a private personal snippet description')
create(:project_snippet, :private, title: 'private project snippet', description: 'a private project snippet description', project: public_project)
create(:personal_snippet, :private, title: 'authorized personal snippet', description: 'an authorized personal snippet description', author: authorized_user)
create(:project_snippet, :private, title: 'authorized project snippet', description: 'an authorized project snippet description', project: authorized_project)
ensure_elasticsearch_index!
create_snippets
sign_in(current_user) if current_user
visit explore_snippets_path
......@@ -67,7 +59,7 @@
end
context 'as logged in user' do
let(:current_user) { create(:user) }
let(:current_user) { regular_user }
it 'finds only public and internal snippets' do
within('.results') do
......@@ -107,7 +99,7 @@
end
context 'as administrator' do
let(:current_user) { create(:admin) }
let(:current_user) { admin_user }
context 'when admin mode is enabled', :enable_admin_mode do
it 'finds all snippets' do
......@@ -164,4 +156,24 @@
it_behaves_like 'expected snippet search results'
end
end
private
def create_snippets
Sidekiq::Testing.inline! do
create(:personal_snippet, :public, title: 'public personal snippet', description: 'a public personal snippet description')
create(:project_snippet, :public, title: 'public project snippet', description: 'a public project snippet description', project: public_project)
create(:personal_snippet, :internal, title: 'internal personal snippet', description: 'a internal personal snippet description')
create(:project_snippet, :internal, title: 'internal project snippet', description: 'a internal project snippet description', project: public_project)
create(:personal_snippet, :private, title: 'private personal snippet', description: 'a private personal snippet description')
create(:project_snippet, :private, title: 'private project snippet', description: 'a private project snippet description', project: public_project)
create(:personal_snippet, :private, title: 'authorized personal snippet', description: 'an authorized personal snippet description', author: authorized_user)
create(:project_snippet, :private, title: 'authorized project snippet', description: 'an authorized project snippet description', project: authorized_project)
ensure_elasticsearch_index!
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment