当初、私は を使用してゼロから認証を構築することから始めbcrypt-ruby
、有効なパスワードを使用してデータベースでユーザーを見つけることができることをテストするための動作する Rspec ユーザー モデルを持っていました。それ以来、代わりに Devise を使用することにしましたが、残念ながらhas_secure_password
User モデルでもう使用していないため、仕様が失敗しているため、authenticate
メソッドは未定義です。devise wiki を検索して見つけたものから、これは devise ヘルパーを使用してコントローラー仕様により適しているように見えますが、ユーザーができることを確認するために以前と同じようにモデルを確認したいだけなので混乱しています認証され、何を置き換えるか完全にはわかりませんauthenticate
。
以前にbcryptuser_spec.rb
を使用していたときに渡されたファイルhas_secure_password
:
require 'spec_helper'
describe User do
it { should respond_to(:authenticate) }
describe "return value of authenticate method" do
user = FactoryGirl.create(:user)
before { user.save }
let(:found_user) { User.find_by(email: user.email) }
describe "with valid password" do
it { found_user.authenticate(user.password).should eq user }
end
describe "with invalid password" do
let(:user_for_invalid_password) { found_user.authenticate("invalid") }
it { user_for_invalid_password.should be_false }
end
end
end