Testgerät anmelden mit Capybara. Es scheint, dass etwas nicht stimmt, da ich das Anmelden mit rspec und Capybara nicht testen kann. Im mit Fabrik Mädchen BenutzerRspec capybara Benutzer kann sich nicht anmelden
FactoryGirl.define do
factory :user do
email '[email protected]'
password 'bhaktapur'
password_confirmation 'bhaktapur'
admin true
name 'admin'
confirmation_sent_at "#{DateTime.now}"
confirmation_token 'anupsumhikichiki'
confirmed_at "#{DateTime.now}"
username 'username'
end
end
Hier mein spec_helper.rb
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'database_cleaner'
# FactoryGirl.find_definitions
Capybara.current_driver = :selenium
# 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}
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
# config.after(:each) { }
config.after(:each) do
DatabaseCleaner.clean
Warden.test_reset!
end
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = false
# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false
end
zu definieren Und hier ist meine spec
require_relative '../spec_helper.rb'
include Warden::Test::Helpers
Warden.test_mode!
feature "the signin process" do
before :each do
@user_attr = FactoryGirl.attributes_for(:user)
# @user = FactoryGirl (:user)
User.create!(@user_attr)
end
scenario "signs me in" do
# login_as @user, :scope => :user
visit '/'
fill_in 'Login', :with => "[email protected]"
fill_in 'Password', :with => "bhaktapur"
click_button 'Sign in'
page.should have_content "Signed in successfully"
Warden.test_reset!
end
end
Auch mein User-Modell zu confirmable
gesetzt
fand ich endlich die Antwort hier http://stackoverflow.com/questions/6576592/failing-to-test-devise-with-capybara – xecutioner
ich die Lösungen gefunden mit http://stackoverflow.com/questions/6576592/failing-to-test-devise-with-capybara – xecutioner