spec_helper.rb revision 97900da4ed1e0e61eca66a403bee1492cea873c8
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# This file is copied to spec/ when you run 'rails generate rspec:install'
dca8e84db91cb5a99bbe25b83c731fa3b96263d6Eugen Kuksarequire File.expand_path("../../spec/shared_helper", __FILE__)
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornbergerrequire File.expand_path("../../config/environment", __FILE__)
4e4dd16617d60a2293b37431ebc21d94aeea80dcEugen Kuksarequire File.expand_path("../hets_helper", __FILE__)
0782f0889387f60a6bcf31f9f869c930466db1dbEugen Kuksarequire Rails.root.join('config', 'database_cleaner.rb')
e3334a4a0ab1ea6e44e84f807dc87acdf5960c7fTim Reddehaserequire 'webmock'
7aa257096578ae891833367f3e2cc75ded9dbd36Eileen BolloffWebMock.disable_net_connect!(allow_localhost: true)
daa05c1ca31894d2bcba80bea773829908efbef8Tim Reddehaseelasticsearch_port = ENV['ELASTIC_TEST_PORT'].present? ? ENV['ELASTIC_TEST_PORT'] : '9250'
daa05c1ca31894d2bcba80bea773829908efbef8Tim ReddehaseElasticsearch::Model.client = Elasticsearch::Client.new host: "localhost:#{elasticsearch_port}"
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# Requires supporting ruby files with custom matchers and macros, etc,
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# in spec/support/ and its subdirectories.
e437b19c184243f688c2dd9b3bf083a454c804c7Julian KornbergerDir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
c829cb13b4875500efbe54aaa3d3c013564d9a8dTim Reddehaserequire Rails.root.join('spec', 'support', 'common_helper_methods.rb')
fc0c892399c3b002f273881393004fce31414f93Eugen Kuksarequire Rails.root.join('spec', 'support', 'documentation_progress_formatter.rb')
3b5cf2ac667519a8140833a003a74991fd20f5b5Eugen Kuksa allow(AuthorizedKeysManager).to receive(:copy_authorized_keys_to_git_home)
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa full_path = RSpec.configuration.current_file_path
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa full_path.match(/#{prefix}(?<path>.*)\.rb$/)[:path]
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa# Generate a generic cassette name for any example or context.
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa "specs/#{current_file_path}/#{current_full_description}"
97900da4ed1e0e61eca66a403bee1492cea873c8Eugen Kuksa allow(HetsInstanceForceFreeWorker).to receive(:perform_in)
b5d0ff6d0e8ec48e5e484716f3ae17e9cacf3987Eugen Kuksa# Recording HTTP Requests
26352e190f20e63d3cf5cd756372f5b32001cca9Eugen Kuksa URI(request.uri).port == elasticsearch_port.to_i
4c405005e95a28dd5a0b0c978aaece1b097d9486Eugen Kuksa c.register_request_matcher :hets_prove_uri do |request1, request2|
5931410e830c72a0c88879ed8acf01a1210a42adEugen Kuksa config.tty ||= ENV["SPEC_OPTS"].include?('--color') if ENV["SPEC_OPTS"]
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa example.metadata[:example_group][:full_description]
297d4dd3c6e0819eebb2ba39e04536053691c0feEugen Kuksa config.current_description = example.description
6876ece18854869a08606c12e0e814435fa73a29Tim Reddehase config.expose_current_running_example_as :example
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.infer_base_class_for_anonymous_controllers = true
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.include Devise::TestHelpers, type: :controller
1b739f5dd48dc239e3b0500a9b64c58e4e2efd29Eugen Kuksa # The following option is already set in the database_cleaner.rb:
1b739f5dd48dc239e3b0500a9b64c58e4e2efd29Eugen Kuksa # config.treat_symbols_as_metadata_keys_with_true_values = true
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # Run specs in random order to surface order dependencies. If you find an
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # order dependency and want to debug it, you can fix the order by providing
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # the seed, which is printed after each run.