Skip to content

Instantly share code, notes, and snippets.

@rujmah
Last active March 4, 2023 14:59
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save rujmah/6193103 to your computer and use it in GitHub Desktop.
Save rujmah/6193103 to your computer and use it in GitHub Desktop.
Quick setup for rails/rspec/mongoid spec_helper

dev bit of Gemfile

group :development, :test do
  gem "rspec-rails"
  gem 'capybara'
  gem 'factory_girl_rails'
  gem 'forgery'
  gem "database_cleaner"
  gem "mongoid-rspec"
  gem "email_spec"
  gem "launchy"  
  gem "shoulda"
  gem "poltergeist"
  gem 'simplecov'
  gem 'guard-rspec'

  gem 'sextant'
  gem 'pry-rails'
end

spec_helper.rb

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'mongoid'
require 'rspec/rails'
require 'rspec/autorun'
require 'factory_girl_rails'
require 'forgery'
require 'rails/mongoid'
require 'database_cleaner'
require 'mongoid-rspec'
require 'capybara/poltergeist'
require 'launchy'

Mongoid.load!(Rails.root.join("config", "mongoid.yml"))

Rails.backtrace_cleaner.remove_silencers!


Capybara.register_driver :poltergeist do |app|
  options = {
    js_errors: false
  }
  Capybara::Poltergeist::Driver.new(app, options)
end
Capybara.javascript_driver = :poltergeist

# Load support files
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
RSpec.configure do |config|
  config.mock_with :rspec
  #config.use_transactional_fixtures = true
  config.infer_base_class_for_anonymous_controllers = false
  config.order = "random"

  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.orm = "mongoid"
  end

  config.before(:each) do
    DatabaseCleaner.clean
  end

  # config.extend ControllerMacros, :type => :controller
end
@jramiresbrito
Copy link

Hows the rails_helper.rb file should look like?

@jramiresbrito
Copy link

Hows the rails_helper.rb file should look like?

It is unnecessary?

@rujmah
Copy link
Author

rujmah commented Feb 4, 2021

Not sure. I haven't configured Rails in a long time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment