add first integration test
This commit is contained in:
parent
427a023135
commit
d58ce31b7f
5 changed files with 72 additions and 3 deletions
21
spec/integration/session_spec.rb
Normal file
21
spec/integration/session_spec.rb
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'the session', :type => :feature do
|
||||
let(:user) { FactoryGirl.create :user }
|
||||
|
||||
describe 'login page', :type => :feature do
|
||||
it 'is accesible' do
|
||||
get login_path
|
||||
expect(response).to be_success
|
||||
end
|
||||
it 'logs me in' do
|
||||
login user.nick, user.password
|
||||
expect(page).to_not have_selector('.alert-error')
|
||||
end
|
||||
it 'does not log me in with wrong password' do
|
||||
login user.nick, 'XX'+user.password
|
||||
expect(page).to have_selector('.alert-error')
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -4,6 +4,9 @@ require File.expand_path("../../config/environment", __FILE__)
|
|||
require 'rspec/rails'
|
||||
require 'rspec/autorun'
|
||||
|
||||
require 'capybara/rails'
|
||||
require 'capybara/rspec'
|
||||
|
||||
# Requires supporting ruby files with custom matchers and macros, etc,
|
||||
# in spec/support/ and its subdirectories.
|
||||
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
|
||||
|
|
@ -17,9 +20,6 @@ RSpec.configure do |config|
|
|||
# config.mock_with :flexmock
|
||||
# config.mock_with :rr
|
||||
|
||||
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
||||
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
||||
|
||||
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
||||
# examples within a transaction, remove the following line or assign false
|
||||
# instead of true.
|
||||
|
|
@ -35,6 +35,8 @@ RSpec.configure do |config|
|
|||
# the seed, which is printed after each run.
|
||||
# --seed 1234
|
||||
config.order = "random"
|
||||
|
||||
config.include(SessionHelper)
|
||||
end
|
||||
|
||||
module Faker
|
||||
|
|
@ -46,3 +48,12 @@ module Faker
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
# include default foodsoft scope in urls, so that *_path works
|
||||
ActionDispatch::Integration::Runner.class_eval do
|
||||
undef default_url_options
|
||||
def default_url_options(options={})
|
||||
{foodcoop: FoodsoftConfig.scope}.merge(options)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
15
spec/support/session_helper.rb
Normal file
15
spec/support/session_helper.rb
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
module SessionHelper
|
||||
|
||||
def login(nick=nil, password=nil)
|
||||
visit login_path
|
||||
if nick.nil?
|
||||
user = FactoryGirl.create :user
|
||||
nick, password = user.nick, user.password
|
||||
end
|
||||
fill_in 'nick', :with => nick
|
||||
fill_in 'password', :with => password
|
||||
find('input[type=submit]').click
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue