2014-12-06 2 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.Как написать тестирование rspec для метода find_for_facebook_oauth

Я хочу написать Rspec Testing для вышеуказанных методов.

Я не могу понять, как пройти auth как аргумент в параметрах?

Пожалуйста, помогите мне, как я могу пройти auth как аргумент в тестировании?

Спасибо заранее.

ответ

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 

Не слишком уверена, если это то, что вы просят, но надеюсь, что это может помочь

Смежные вопросы