BigW Consortium Gitlab

spec_helper.rb 1.8 KB
Newer Older
gitlabhq committed
1 2 3 4 5 6 7 8 9 10
require 'simplecov'
SimpleCov.start 'rails'

# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rails'
require 'capybara/rspec'
require 'capybara/dsl'
11
require 'webmock/rspec'
gitlabhq committed
12 13
require 'factories'
require 'monkeypatch'
14
require 'email_spec'
gitlabhq committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

# 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|
  # == 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
  config.mock_with :rspec

  config.include LoginMacros

  # 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

  config.before :each, :type => :integration do
    DeviseSessionMock.disable
  end

  config.before do
    if example.metadata[:js]
      DatabaseCleaner.strategy = :truncation
47
      Capybara::Selenium::Driver::DEFAULT_OPTIONS[:resynchronize] = true
gitlabhq committed
48 49 50 51 52
    else
      DatabaseCleaner.strategy = :transaction
    end

    DatabaseCleaner.start
53 54

    WebMock.disable_net_connect!(allow_localhost: true)
55
    ActiveRecord::Base.observers.disable :all
gitlabhq committed
56 57 58 59 60
  end

  config.after do
    DatabaseCleaner.clean
  end
Nihad Abbasov committed
61 62 63 64

  config.include RSpec::Rails::RequestExampleGroup, :type => :request, :example_group => {
    :file_path => /spec\/api/
  }
gitlabhq committed
65
end