0

次のような application_controller に標準の current_user があります。

describe ApplicationController < ActionController::Base

  helper_method :current_user

  def current_user
    @current_user ||= User.find_by_auth_token(session[:auth_token]) if session[:auth_token]
  end

これをどのようにテストする必要があるか、またはテストする必要があるかどうかについて興味があります。私は次のように考えていました(これは機能しますが、より良い方法があるかどうか、または必要かどうかはわかりません):

describe 'current_user' do
  it 'should return a valid_current' do
    user=FactoryGirl.create(:user)
    user.auth_token='abc123'
    user.save
    request.session['auth_token']='abc123'
    returned_user=controller.send(:current_user) # not sure about this
    returned_user.id.should eq(user.id)
  end
end

しかし、よくわかりませんか?API の他の場所で認証をテストしていますが、(1) どのように、または (2) これをテストする必要があるかどうか (完全性のためにも) に興味がありますか?

どうも

4

0 に答える 0