ruby on rails - RSpec - Password can't be blank error after installing Devise gem -
मैं उपयोगकर्ता मॉडल का परीक्षण करता हूं:
वर्ग उपयोगकर्ता & lt; ActiveRecord :: बेस # डिफ़ॉल्ट रूप से मॉड्यूल को विकसित करना शामिल करें उपलब्ध अन्य हैं: #: पुष्टि करने योग्य,: lockable,: समय-सीमा योग्य और: omniauthable devise: database_authenticatable,: registerable, वसूली योग्य,: यादगार,: trackable,: मान्य मान्य: पासवर्ड,: उपस्थिति = & gt; सच्चे है _माइं: विज्ञापन, आश्रित: नष्ट हो चुके हैं: डॉक्स, के माध्यम से:: विज्ञापन, स्रोत:: सामग्री, स्रोत_प्रकार: "डॉक्टर" के पास_माएं: पालतू जानवर, माध्यम से:: विज्ञापन, स्रोत:: सामग्री, स्रोत_प्रकार: "पेट" है_माया: लाइसेंस_प्लेट प्रयोक्ता स्कीमा निम्नलिखित हैं: create_table "उपयोगकर्ता", बल: "विज्ञापन", "स्रोत": "सामग्री" स्रोत:: सामग्री, स्रोत_प्रकार: "लाइसेंस प्लैट" अंत
सच है | टी | T.string "first_name" t.string "last_name" t.string "phone" t.datetime "created_at" t.datetime "updated_at" t.string "ईमेल", डिफ़ॉल्ट: "", रिक्त: गलत t.string "encrypted_password" ", डिफ़ॉल्ट:" ", रिक्त: गलत t.string" reset_password_token "t.datetime" reset_password_sent_at "t.datetime" remember_created_at "t.integer" sign_in_count ", डिफ़ॉल्ट: 0, रिक्त: गलत t.datetime" current_sign_in_at "t कारखाना है:
फैक्टरीगियर.डिफ़ाईन कारखाना करते हैं: उपयोगकर्ता को पहले_नाम दें {Faker :: Name.first_name} last_name {Faker :: Name.last_name} फोन {Faker :: PhoneNumber.phone_number} ईमेल {Faker :: Internet.email} encrypted_password {Faker :: Internet.password} #reset_password_token end end आरएसपीसी कोड है:
'rails_helper' की आवश्यकता है क्वायर 'spec_helper' का वर्णन करें उपयोगकर्ता इसे "एक मान्य कारखाना है" की अपेक्षा करें (फैक्टरीगिरल.बिल्ड (उपयोगकर्ता:))। को समाप्त करने के लिए यह संभव है I_expected.to have_many (: ads)। निर्भर (: नष्ट)} यह {is_expected है To_many (: docs) .through (: ads)} यह is_expected.to है __many (: पालतू जानवर) .through (: ads)} यह is_expected.to_many (: license_plates) .through (: ads)} end चल रहा rspec मेरे पास "पासवर्ड रिक्त नहीं हो सकता" त्रुटि
@jvnil का सुझाव सही है जैसा कि आप डिवीस कोड में देख सकते हैं
# यह सत्यापित करता है कि कोई पासवर्ड (यानी साइन इन से) उपयोगकर्ता पासवर्ड है या नहीं। Def मान्य_पासवर्ड? (पासवर्ड) गलत अगर एन्क्रिप्ट किए गए पासवर्ड को वापस लौटाएं? Bcrypt = :: BCrypt :: Password.new (encrypted_password) password = :: BCrypt :: Engine.hash_secret ("# {password} # {self.class.pepper}", bcrypt.salt) Devise.secure_compare (पासवर्ड, encrypted_password ) एंड
#
# दिए गए मान के आधार पर पासवर्ड एन्क्रिप्शन जेनरेट करता है। Def password = (new_password) @password = new_password self.encrypted_password = password_digest (@password) अगर @ password.present? एंड
और पुष्टि करता है कि
संसाधन = मान्य_पासवर्ड पर? & Amp; & amp; Mapping.to.find_for_database_authentication (प्रमाणीकरण_हेश)
Comments
Post a Comment