Sha256: 5cd670ad1973e94dc866ae4fbc7f419a8d62a427d25c77e03147c56654650efe

Contents?: true

Size: 1.47 KB

Versions: 8

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

require 'simplecov'
SimpleCov.start

require 'database_cleaner/active_record'
require 'factory_bot'
require 'faker'
require 'omniauth'
require 'pry'
require 'rack/test'
require 'rspec'
require 'webmock/rspec'

ENV['RACK_ENV'] = 'test'
ENV['SESSION_SECRET'] = 'supersecret'
ENV['BASE_URL'] = 'https://example.com'

require File.expand_path '../lib/osso.rb', __dir__

require File.expand_path 'support/spec_app', __dir__

module RSpecMixin
  include Rack::Test::Methods

  def app
    SpecApp
  end

  def mock_saml_omniauth(email: 'user@enterprise.com', id: SecureRandom.uuid)
    OmniAuth.config.add_mock(:saml,
      extra: {
        response_object: {
          attributes: {
            'id': id,
            'email': email,
          },
        },
      })
  end

  def last_json_response
    JSON.parse(last_response.body, symbolize_names: true)
  end

  def spec_views
    File.dirname(__FILE__) + '/support/views'
  end
end

RSpec.configure do |config|
  config.include RSpecMixin
  config.include FactoryBot::Syntax::Methods

  config.before(:suite) do
    ActiveRecord::Base.establish_connection
    FactoryBot.find_definitions
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.clean_with(:truncation)
  end

  config.around(:each) do |example|
    DatabaseCleaner.cleaning do
      example.run
    end
  end

  OmniAuth.config.test_mode = true
  OmniAuth.config.logger = Logger.new('/dev/null')
  WebMock.disable_net_connect!(allow_localhost: true)
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
osso-0.0.3.26 spec/spec_helper.rb
osso-0.0.3.25 spec/spec_helper.rb
osso-0.0.3.24 spec/spec_helper.rb
osso-0.0.3.23 spec/spec_helper.rb
osso-0.0.3.22 spec/spec_helper.rb
osso-0.0.3.21 spec/spec_helper.rb
osso-0.0.3.20 spec/spec_helper.rb
osso-0.0.3.19 spec/spec_helper.rb