0

当初、私は を使用してゼロから認証を構築することから始めbcrypt-ruby、有効なパスワードを使用してデータベースでユーザーを見つけることができることをテストするための動作する Rspec ユーザー モデルを持っていました。それ以来、代わりに Devise を使用することにしましたが、残念ながらhas_secure_passwordUser モデルでもう使用していないため、仕様が失敗しているため、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
4

1 に答える 1