小编Whe*_*uys的帖子

Omniauth Rspec测试问题

我按照omniauth的轨道演员创建了twitter的身份验证(http://railscasts.com/episodes/235-omniauth-part-1?view=comments).它在开发中工作正常但我无法让rspec检测到我已经创建了身份验证.这是我的身份验证控制器中创建功能的代码段:

def create
  begin

    auth_hash = request.env["omniauth.auth"]
    @auth = current_user.authentications.build( :provider     => auth_hash['provider'], 
                                              :uid          => auth_hash['uid'],
                                              :name         => auth_hash['user_info']['name'],
                                              :nickname     => auth_hash['user_info']['nickname'],
                                              :image        => auth_hash['user_info']['image'] 
                                              )

    if @auth.provider.downcase == "twitter"
      @auth.auth_token      = auth_hash['credentials']['token']
      @auth.secret_token    = auth_hash['credentials']['secret']
      @auth.site            = auth_hash['user_info']['urls']['Twitter']
    elsif @auth.provider == "Facebook"

    end

  rescue
    redirect_to current_user, :flash => { :error => "Missing oauth data!! Check with administrator!"}
  else
    if @auth.save
      msg = "Authentication success"
    else
      msg = "Already have authentication"
    end
    redirect_to current_user, :notice => msg
  end …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails omniauth

11
推荐指数
1
解决办法
4407
查看次数

标签 统计

omniauth ×1

rspec ×1

ruby-on-rails ×1