2014-12-06 121 views
0
def self.find_for_facebook_oauth(auth, signed_in_resource=nil) 
    partner = Partner.where(:provider => auth.provider, :uid => auth.uid).first 
    if partner 
     return partner 
    else 
     registered_partner = Partner.where(:email => auth.info.email).first 
     if registered_partner 
     return registered_partner 
     else 
     partner = Partner.create(
        username: "#{auth.info.name.downcase.delete(' ')}_#{Time.now.to_i}", 
        provider: auth.provider, 
        uid: auth.uid, 
        email: auth.info.email, 
        first_name: auth.info.first_name, 
        last_name: auth.info.last_name, 
        password: Devise.friendly_token[0,20], 
        auth_token: auth.credentials.token, 
        user_type: 'partners', 
        oauth_expires_at: Time.at(auth.credentials.expires_at).to_datetime 
       ) 
     end  
    end 
    partner 
    end 

以上代碼是用於Facebook身份驗證的。如何爲find_for_facebook_oauth方法編寫rspec測試

我想爲上面的方法編寫Rspec測試。

我無法理解如何在參數中通過驗證碼作爲參數?

請幫助我如何通過驗證作爲測試中的參數?

在此先感謝。

回答

0

在你的描述塊,爲AUTH創建夾具,然後再編寫規範調用該方法,並AUTH通過夾具的方法:

describe YourClass do 
    it "should do certain things" do 
    # fixture auth 
    fixture_auth = "SomeRandomValue" 

    # pass it to your method 
    YourClass.find_for_facebook_oauth(fixture_auth) 
    end 
end 

不太清楚,如果這是你請求,但希望它可以幫助