diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-08-30 18:09:58 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-08-30 18:09:58 -0400 |
commit | c1f081bb5148aed3787b43752a97e5bcb59a3ade (patch) | |
tree | d6b845fda2816d808535d42b3008e2bba9d8a1fe | |
parent | a5d5df3b2f24daf47450e28b327cb43d88accdaa (diff) | |
download | gitlab-ci-c1f081bb5148aed3787b43752a97e5bcb59a3ade.tar.gz |
Make spec_helper more like CE's
-rw-r--r-- | spec/spec_helper.rb | 46 | ||||
-rw-r--r-- | spec/support/capybara.rb | 21 | ||||
-rw-r--r-- | spec/support/webmock.rb | 4 |
3 files changed, 36 insertions, 35 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 54d3068..1d56dee 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -9,52 +9,28 @@ if ENV['COVERALLS'] end ENV["RAILS_ENV"] ||= 'test' + require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' -require 'rspec/autorun' +require 'shoulda/matchers' require 'sidekiq/testing/inline' -require 'capybara/poltergeist' - -Capybara.javascript_driver = :poltergeist -Capybara.default_wait_time = 10 # 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} -require 'webmock/rspec' -WebMock.disable_net_connect!(allow_localhost: true) - RSpec.configure do |config| - config.include LoginHelpers, type: :feature + config.use_transactional_fixtures = false + config.use_instantiated_fixtures = false + config.mock_with :rspec + config.include LoginHelpers, type: :feature + config.include LoginHelpers, type: :request config.include StubGitlabCalls config.include StubGitlabData - # ## Mock Framework - # - # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: - # - # config.mock_with :mocha - # config.mock_with :flexmock - # config.mock_with :rr - - # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures - config.fixture_path = "#{::Rails.root}/spec/fixtures" - - # If you're not using ActiveRecord, or you'd prefer not to run each of your - # examples within a transaction, remove the following line or assign false - # instead of true. - config.use_transactional_fixtures = false - - # If true, the base class of anonymous controllers will be inferred - # automatically. This will be the default behavior in future versions of - # rspec-rails. - config.infer_base_class_for_anonymous_controllers = false - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = "random" + config.infer_spec_type_from_file_location! + config.raise_errors_for_deprecations! end + +ActiveRecord::Migration.maintain_test_schema! diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb new file mode 100644 index 0000000..fed1ab6 --- /dev/null +++ b/spec/support/capybara.rb @@ -0,0 +1,21 @@ +require 'capybara/rails' +require 'capybara/rspec' +require 'capybara/poltergeist' + +# Give CI some extra time +timeout = (ENV['CI'] || ENV['CI_SERVER']) ? 90 : 10 + +Capybara.javascript_driver = :poltergeist +Capybara.register_driver :poltergeist do |app| + Capybara::Poltergeist::Driver.new(app, js_errors: true, timeout: timeout) +end + +Capybara.default_wait_time = timeout +Capybara.ignore_hidden_elements = true + +unless ENV['CI'] || ENV['CI_SERVER'] + require 'capybara-screenshot/rspec' + + # Keep only the screenshots generated from the last failing test suite + Capybara::Screenshot.prune_strategy = :keep_last_run +end diff --git a/spec/support/webmock.rb b/spec/support/webmock.rb new file mode 100644 index 0000000..af2906b --- /dev/null +++ b/spec/support/webmock.rb @@ -0,0 +1,4 @@ +require 'webmock' +require 'webmock/rspec' + +WebMock.disable_net_connect!(allow_localhost: true) |