मैं वर्तमान में एक ऐसा एप्लिकेशन बना रहा हूं जो उपयोगकर्ताओं को बनाने और प्रमाणित करने के लिए OmniAuth का उपयोग करता है। फैक्टरी गर्ल के बिना ओमनीएथ के उपयोगकर्ताओं को उत्पन्न करने में असमर्थ होने के कारण मुझे परीक्षण के दौरान समस्याएं आ रही हैं।ओमनीएथ के साथ फैक्टरी गर्ल में उपयोगकर्ताओं को बनाएँ?
मेरे पास कारखाने की लड़की को omniauth के साथ उपयोगकर्ताओं को बनाने के कई अलग-अलग तरीके हैं लेकिन कोई भी सफल नहीं हुआ है।
मैं अपने spec_helper फ़ाइल
OmniAuth.config.test_mode = true \\ allows me to fake signins
OmniAuth.config.add_mock(:twitter, { :uid => '12345', :info => { :nickname => 'Joe Blow' }})
वर्तमान factories.rb के लिए निम्न 2 लाइनों को शामिल किया है
FactoryGirl.define do
factory :user do
provider "twitter"
sequence(:uid) { |n| "#{n}" }
sequence(:name) { |n| "Person_#{n}" }
end
end
क्योंकि प्रयोक्ता बनाई जा रही है निम्न परीक्षण वर्तमान में विफल रहता है
let(:user) { FactoryGirl.create(:user) }
before { sign_in user }
describe "registering" do
it "should increment" do
expect do
click_button 'register'
end.to change(user.rounds, :count).by(1)
end
फैक्टरी गर्ल को टेस्ट उपयोगकर्ताओं को बनाने के लिए मुझे अपने कारखानों/परीक्षणों को कैसे बदलना चाहिए OmniAuth?
संपादित करें: मैं RailsCast guide to setup Omniauth,
#create function inside user.rb
def self.create_with_omniauth(auth)
create! do |user|
user.provider = auth["provider"]
user.uid = auth["uid"]
user.name = auth["info"]["name"]
end
end
उम्मीद है कि यह भी उपयोगी इस्तेमाल किया
#create inside the session_controller
def create
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
session[:user_id] = user.id
redirect_to root_url, :notice => "Signed in!"
end
क्या कोई और जानकारी है जो मैं आपको लोगों की मदद करने में मदद करने के लिए प्रदान कर सकता हूं? – SomberClock