Skip to content

Commit

Permalink
Update to RSpec 3.1.x
Browse files Browse the repository at this point in the history
  • Loading branch information
futhr committed Nov 25, 2014
1 parent 855edd8 commit 30235ae
Show file tree
Hide file tree
Showing 14 changed files with 96 additions and 69 deletions.
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
--color
-f documentation
-r spec_helper
10 changes: 4 additions & 6 deletions spec/controllers/admin/captcha_settings_controller_spec.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
require 'spec_helper'

describe Spree::Admin::CaptchaSettingsController do
RSpec.describe Spree::Admin::CaptchaSettingsController, type: :controller do
stub_authorization!

before do
user = create(:admin_user)
controller.stub(try_spree_current_user: user)
allow(controller).to receive(:try_spree_current_user) { user }
end

context '#update' do
Expand Down Expand Up @@ -37,7 +35,7 @@

it 'sets preferred_use_captcha to false' do
spree_put :update, preferences: { use_captcha: false }
expect(Spree::Captcha::Config.preferred_use_captcha).to be_false
expect(Spree::Captcha::Config.preferred_use_captcha).to be false
end
end
end
Expand All @@ -48,4 +46,4 @@
expect(response).to render_template(:edit)
end
end
end
end
8 changes: 4 additions & 4 deletions spec/controllers/email_sender_controller_spec.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require 'spec_helper'

describe Spree::EmailSenderController do
RSpec.describe Spree::EmailSenderController, type: :controller do
let(:product) { create(:product) }

before { controller.stub spree_current_user: nil }
before do
allow(controller).to receive(:spree_current_user) { nil }
end

it 'use EmailSenderController' do
expect(controller).to be_an_instance_of(Spree::EmailSenderController)
Expand Down
10 changes: 4 additions & 6 deletions spec/features/admin/captcha_settings_spec.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
require 'spec_helper'

feature 'Admin Captcha Settings', js: true do
RSpec.feature 'Admin Captcha Settings', :js, type: :feature do
stub_authorization!

context 'when update' do
background 'should visit admin pannel' do
background 'visits admin pannel' do
visit spree.admin_path
click_link 'Configuration'
end
Expand All @@ -17,11 +15,11 @@
expect(find_field('Yes').value).not_to be_blank
end

scenario 'dont display Captcha Settings on frontend' do
scenario 'does not display Captcha Settings on frontend' do
click_link 'Captcha Settings'
choose 'No'
click_button 'Update'
expect(find_field('No').value).not_to be_blank
end
end
end
end
11 changes: 6 additions & 5 deletions spec/features/email_sender_spec.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
require 'spec_helper'
RSpec.feature 'Email to friend', :js, type: :feature do

feature 'Email to friend', js: true do
given!(:product) { create(:product) }
given(:mail) { build(:mail) }
given(:product) { create(:product) }
given(:mail) { build(:mail) }

background do
visit spree.product_path(product)
expect(page).to have_text product.name
expect(page).to have_link 'Email a friend'
click_link 'Email a friend'
end

Expand Down Expand Up @@ -48,4 +49,4 @@ def fill_in_form_with(mail)
fill_in 'mail_to_friend_recipient_email', with: mail.recipients.first
fill_in 'mail_to_friend_message', with: mail.message
end
end
end
4 changes: 1 addition & 3 deletions spec/mailers/to_friend_mailer_spec.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
require 'spec_helper'

describe Spree::ToFriendMailer do
RSpec.describe Spree::ToFriendMailer, type: :mailer do
let!(:product) { create(:product) }

context 'mail content' do
Expand Down
14 changes: 6 additions & 8 deletions spec/models/mail_to_friend_spec.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
require 'spec_helper'

describe Spree::MailToFriend do
it { should validate_presence_of :subject }
it { should validate_presence_of :sender_name }
it { should validate_presence_of :recipient_name }
RSpec.describe Spree::MailToFriend, type: :model do
it { is_expected.to validate_presence_of :subject }
it { is_expected.to validate_presence_of :sender_name }
it { is_expected.to validate_presence_of :recipient_name }

context 'Validate required fields' do
it 'verify test data hase been generated' do
Expand All @@ -22,7 +20,7 @@

it 'persist function should return false' do
mail_to_friend = Spree::MailToFriend.new
expect(mail_to_friend.persisted?).to be_false
expect(mail_to_friend.persisted?).to be false
end
end
end
end
51 changes: 15 additions & 36 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,54 +1,33 @@
require 'simplecov'
SimpleCov.start 'rails'

ENV['RAILS_ENV'] = 'test'
ENV['RAILS_ENV'] ||= 'test'

require File.expand_path('../dummy/config/environment.rb', __FILE__)
begin
require File.expand_path('../dummy/config/environment', __FILE__)
rescue LoadError
puts 'Could not load dummy application. Please ensure you have run `bundle exec rake test_app`'
exit
end

require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/rails'
require 'capybara/poltergeist'
require 'shoulda-matchers'
require 'email_spec'
require 'ffaker'
require 'database_cleaner'
require 'pry'

Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }

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

FactoryGirl.find_definitions

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
config.include Spree::TestingSupport::ControllerRequests
config.include Spree::TestingSupport::UrlHelpers

config.include EmailSpec::Helpers
config.include EmailSpec::Matchers
config.fail_fast = false
config.filter_run focus: true
config.run_all_when_everything_filtered = true

config.mock_with :rspec
config.use_transactional_fixtures = false
config.raise_errors_for_deprecations!
config.infer_spec_type_from_file_location!

config.before :suite do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with :truncation
end

config.before do
DatabaseCleaner.strategy = example.metadata[:js] ? :truncation : :transaction
DatabaseCleaner.start
end

config.after do
DatabaseCleaner.clean
config.expect_with :rspec do |expectations|
expectations.syntax = :expect
end

Capybara.javascript_driver = :poltergeist
end

Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |file| require file }
7 changes: 7 additions & 0 deletions spec/support/capybara.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'capybara/rspec'
require 'capybara/rails'
require 'capybara/poltergeist'

RSpec.configure do |config|
Capybara.javascript_driver = :poltergeist
end
24 changes: 24 additions & 0 deletions spec/support/database_cleaner.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
require 'database_cleaner'

RSpec.configure do |config|

config.before(:suite) do
DatabaseCleaner.clean_with :deletion
end

config.before do
DatabaseCleaner.strategy = :transaction
end

config.before(:each, :js) do
DatabaseCleaner.strategy = :deletion
end

config.before do
DatabaseCleaner.start
end

config.after do
DatabaseCleaner.clean
end
end
6 changes: 6 additions & 0 deletions spec/support/email.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'email_spec'

RSpec.configure do |config|
config.include EmailSpec::Helpers
config.include EmailSpec::Matchers
end
7 changes: 7 additions & 0 deletions spec/support/factory_girl.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'factory_girl'

FactoryGirl.find_definitions

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
10 changes: 10 additions & 0 deletions spec/support/spree.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require 'spree/testing_support/factories'
require 'spree/testing_support/controller_requests'
require 'spree/testing_support/authorization_helpers'
require 'spree/testing_support/url_helpers'

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
config.include Spree::TestingSupport::ControllerRequests
config.include Spree::TestingSupport::UrlHelpers
end
2 changes: 1 addition & 1 deletion spree_email_to_friend.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Gem::Specification.new do |s|
s.add_dependency 'spree_core', '~> 3.0.0.beta'
s.add_dependency 'recaptcha', '>= 0.3.1'

s.add_development_dependency 'rspec-rails', '~> 2.14'
s.add_development_dependency 'rspec-rails', '~> 3.1.0'
s.add_development_dependency 'sqlite3', '~> 1.3.8'
s.add_development_dependency 'factory_girl', '~> 4.5'
s.add_development_dependency 'capybara', '~> 2.4.4'
Expand Down

0 comments on commit 30235ae

Please sign in to comment.