使用Rspec测试application_controller中的current_user

时间:2013-06-24 18:21:57

标签: ruby-on-rails rspec

我在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测试我们的auth,但很好奇(1)如何或(2)是否应该测试(即使是完整性)?

THX

0 个答案:

没有答案