spec/spec_helper.rb in authenticate-0.2.3 vs spec/spec_helper.rb in authenticate-0.3.0

- old
+ new

@@ -1,155 +1,57 @@ -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.dirname(__FILE__)) +ENV['RAILS_ENV'] ||= 'test' - -ENV["RAILS_ENV"] ||= 'test' - -MY_ORM = :active_record - -# require 'simplecov' -# SimpleCov.root File.join(File.dirname(__FILE__), '..', 'lib') -# SimpleCov.start - - -require 'rails/all' +require File.expand_path('../dummy/config/environment.rb', __FILE__) require 'rspec/rails' -require 'factory_girl_rails' -# require 'timecop' +require 'shoulda-matchers' +require 'capybara/rails' +require 'capybara/rspec' +require 'database_cleaner' +require 'factory_girl' +require 'timecop' -require 'authenticate' +Rails.backtrace_cleaner.remove_silencers! +DatabaseCleaner.strategy = :truncation -ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../') -Dir[File.join(ENGINE_RAILS_ROOT, "spec/factories/**/*.rb")].each {|f| require f } +# No longer autoloading support, individually requiring instead. +# +# Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } -def setup_orm; end -def teardown_orm; end +# Load factory girl factories. +Dir[File.join(File.dirname(__FILE__), 'factories/**/*.rb')].each { |f| require f } -require "orm/#{MY_ORM}" +RSpec.configure do |config| + config.include FactoryGirl::Syntax::Methods + config.infer_spec_type_from_file_location! + config.order = :random + config.use_transactional_fixtures = true -# require "rails_app/config/environment" -require "dummy/config/environment" + # config.mock_with :rspec -# class TestMailer < ActionMailer::Base;end + config.expect_with :rspec do |expectations| + expectations.syntax = :expect + end -Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} + config.mock_with :rspec do |mocks| + mocks.syntax = :expect + end -RSpec.configure do |config| - config.fixture_path = "#{::Rails.root}/spec/factories" - config.include RSpec::Rails::ControllerExampleGroup, :file_path => /controller(.)*_spec.rb$/ - config.mock_with :rspec - config.include FactoryGirl::Syntax::Methods - - config.use_transactional_fixtures = true - - config.before(:suite) { setup_orm } - config.after(:suite) { teardown_orm } - config.before(:each) { ActionMailer::Base.deliveries.clear } + config.after(:each, :type => :feature) do + DatabaseCleaner.clean # Truncate the database + Capybara.reset_sessions! # Forget the (simulated) browser state + Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver + end end def restore_default_configuration - Authenticate.configuration = nil - Authenticate.configure {} + puts 'restore_default_configuration called!!!!!!!!!!!!!!!!!!!!!' end def mock_request(params = {}) req = double("request") allow(req).to receive(:params).and_return(params) allow(req).to receive(:remote_ip).and_return('111.111.111.111') req end - - -# # This file was generated by the `rails generate rspec:install` command. Conventionally, all -# # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. -# # The generated `.rspec` file contains `--require spec_helper` which will cause -# # this file to always be loaded, without a need to explicitly require it in any -# # files. -# # -# # Given that it is always loaded, you are encouraged to keep this file as -# # light-weight as possible. Requiring heavyweight dependencies from this file -# # will add to the boot time of your test suite on EVERY test run, even for an -# # individual file that may not need all of that loaded. Instead, consider making -# # a separate helper file that requires the additional dependencies and performs -# # the additional setup, and require it from the spec files that actually need -# # it. -# # -# # The `.rspec` file also contains a few flags that are not defaults but that -# # users commonly want. -# # -# # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration -# RSpec.configure do |config| -# # rspec-expectations config goes here. You can use an alternate -# # assertion/expectation library such as wrong or the stdlib/minitest -# # assertions if you prefer. -# config.expect_with :rspec do |expectations| -# # This option will default to `true` in RSpec 4. It makes the `description` -# # and `failure_message` of custom matchers include text for helper methods -# # defined using `chain`, e.g.: -# # be_bigger_than(2).and_smaller_than(4).description -# # # => "be bigger than 2 and smaller than 4" -# # ...rather than: -# # # => "be bigger than 2" -# expectations.include_chain_clauses_in_custom_matcher_descriptions = true -# end -# -# # rspec-mocks config goes here. You can use an alternate test double -# # library (such as bogus or mocha) by changing the `mock_with` option here. -# config.mock_with :rspec do |mocks| -# # Prevents you from mocking or stubbing a method that does not exist on -# # a real object. This is generally recommended, and will default to -# # `true` in RSpec 4. -# mocks.verify_partial_doubles = true -# end -# -# # The settings below are suggested to provide a good initial experience -# # with RSpec, but feel free to customize to your heart's content. -# =begin -# # These two settings work together to allow you to limit a spec run -# # to individual examples or groups you care about by tagging them with -# # `:focus` metadata. When nothing is tagged with `:focus`, all examples -# # get run. -# config.filter_run :focus -# config.run_all_when_everything_filtered = true -# -# # Allows RSpec to persist some state between runs in order to support -# # the `--only-failures` and `--next-failure` CLI options. We recommend -# # you configure your source control system to ignore this file. -# config.example_status_persistence_file_path = "spec/examples.txt" -# -# # Limits the available syntax to the non-monkey patched syntax that is -# # recommended. For more details, see: -# # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ -# # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ -# # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode -# config.disable_monkey_patching! -# -# # Many RSpec users commonly either run the entire suite or an individual -# # file, and it's useful to allow more verbose output when running an -# # individual spec file. -# if config.files_to_run.one? -# # Use the documentation formatter for detailed output, -# # unless a formatter has already been configured -# # (e.g. via a command-line flag). -# config.default_formatter = 'doc' -# end -# -# # Print the 10 slowest examples and example groups at the -# # end of the spec run, to help surface which specs are running -# # particularly slow. -# config.profile_examples = 10 -# -# # 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 -# -# # Seed global randomization in this process using the `--seed` CLI option. -# # Setting this allows you to use `--seed` to deterministically reproduce -# # test failures related to randomization by passing the same `--seed` value -# # as the one that triggered the failure. -# Kernel.srand config.seed -# =end -# end