Skip to content

Commit

Permalink
Merge pull request #2 from jhawthorn/spec_helper
Browse files Browse the repository at this point in the history
Add a basic spec_helper for extensions to include
  • Loading branch information
jhawthorn authored Jul 26, 2017
2 parents 31150fd + 4b204dd commit 6c5b411
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 0 deletions.
29 changes: 29 additions & 0 deletions lib/solidus_support/extension/feature_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# A basic feature_helper to be included as the starting point for extensions
#
# Can be required from an extension's spec/feature_helper.rb
#
# require 'solidus_support/extension/feature_helper.rb'
#

require 'solidus_support/extension/rails_helper'

require 'capybara-screenshot/rspec'
require 'capybara/poltergeist'

Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, js_errors: true, timeout: 90)
end

Capybara.javascript_driver = :poltergeist
Capybara.default_max_wait_time = 10

require 'spree/testing_support/capybara_ext'

RSpec.configure do |config|
config.when_first_matching_example_defined(type: :feature) do
config.before :suite do
# Preload assets
Rails.application.precompiled_assets
end
end
end
40 changes: 40 additions & 0 deletions lib/solidus_support/extension/rails_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# A basic rails_helper to be included as the starting point for extensions
#
# Can be required from an extension's spec/rails_helper.rb
#
# require 'solidus_support/extension/rails_helper.rb'
#

require 'solidus_support/extension/spec_helper'

require 'rspec/rails'
require 'database_cleaner'
require 'ffaker'

require 'spree/testing_support/authorization_helpers'
require 'spree/testing_support/factories'
require 'spree/testing_support/url_helpers'

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods

# visit spree.admin_path
# current_path.should eql(spree.products_path)
config.include Spree::TestingSupport::UrlHelpers

# Ensure Suite is set to use transactions for speed.
config.before :suite do
DatabaseCleaner.clean_with :truncation
end

# Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary.
config.before :each do
DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
DatabaseCleaner.start
end

# After each spec clean the database.
config.after :each do
DatabaseCleaner.clean
end
end
19 changes: 19 additions & 0 deletions lib/solidus_support/extension/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# A basic spec_helper to be included as the starting point for extensions
#
# Can be required from an extension's spec/spec_helper.rb
#
# require 'solidus_support/extension/spec_helper.rb'
#

RSpec.configure do |config|
config.filter_run focus: true
config.run_all_when_everything_filtered = true

config.mock_with :rspec
config.color = true

config.fail_fast = ENV['FAIL_FAST'] || false
config.order = 'random'

Kernel.srand config.seed
end

0 comments on commit 6c5b411

Please sign in to comment.