gitlab-org--gitlab-foss/spec/spec_helper.rb
Rémy Coutable 7bff17eb75 Shave spec/features/issues/filtered_search/dropdown_label_spec.rb from 10 minutes to 1.5 minutes
- Don't use `sleep` (most of the time was wasted by that)
- Expect some elements to be visible instead: capybara is smart enough
  to retry a few times if it cannot find an element
- See
  https://github.com/teamcapybara/capybara#asynchronous-javascript-ajax-and-friends
- Don't create unneccessary DB records
- Group some examples together to shave some setup time (where it makes
  sense)

Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-02-03 19:08:21 +01:00

76 lines
2.1 KiB
Ruby

require './spec/simplecov_env'
SimpleCovEnv.start!
ENV["RAILS_ENV"] ||= 'test'
ENV["IN_MEMORY_APPLICATION_SETTINGS"] = 'true'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'shoulda/matchers'
require 'rspec/retry'
if ENV['RSPEC_PROFILING_POSTGRES_URL'] || ENV['RSPEC_PROFILING']
require 'rspec_profiling/rspec'
end
if ENV['CI'] && !ENV['NO_KNAPSACK']
require 'knapsack'
Knapsack::Adapters::RSpecAdapter.bind
end
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
RSpec.configure do |config|
config.use_transactional_fixtures = false
config.use_instantiated_fixtures = false
config.mock_with :rspec
config.verbose_retry = true
config.display_try_failure_messages = true
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :view
config.include Warden::Test::Helpers, type: :request
config.include LoginHelpers, type: :feature
config.include SearchHelpers, type: :feature
config.include WaitForAjax, type: :feature
config.include StubConfiguration
config.include EmailHelpers, type: :mailer
config.include TestEnv
config.include ActiveJob::TestHelper
config.include ActiveSupport::Testing::TimeHelpers
config.include StubGitlabCalls
config.include StubGitlabData
config.infer_spec_type_from_file_location!
config.raise_errors_for_deprecations!
config.before(:suite) do
TestEnv.init
end
config.around(:each, :caching) do |example|
caching_store = Rails.cache
Rails.cache = ActiveSupport::Cache::MemoryStore.new if example.metadata[:caching]
example.run
Rails.cache = caching_store
end
config.around(:each, :redis) do |example|
Gitlab::Redis.with(&:flushall)
Sidekiq.redis(&:flushall)
example.run
Gitlab::Redis.with(&:flushall)
Sidekiq.redis(&:flushall)
end
end
FactoryGirl::SyntaxRunner.class_eval do
include RSpec::Mocks::ExampleMethods
end
ActiveRecord::Migration.maintain_test_schema!