5

में current_user क्या मैं क्या हासिल करना ककड़ी चरणों को परिभाषित करते हुए (पर भरोसा करते हैं) current_user विधि का उपयोग करने के लिए है। मैं अपनी परियोजना में क्लीयरेंस का उपयोग कर रहा हूं।ककड़ी और निकासी: चरणों

सबसे पहले मैंने sign_in का उपयोग करने की कोशिश की लेकिन यह काम नहीं किया (मुझे लगता है कि ककड़ी विश्व को क्लीयरेंस विधियों के बारे में पता नहीं है ...)।

तो मैं कैसे कोक्स को current_user और sign_in/sign_out विधियों को पहचानूं?

उत्तर

6

आपकी ककड़ी सुविधाओं को सार्वजनिक उपयोगकर्ता इंटरफ़ेस के माध्यम से अपना एप्लिकेशन चलाया जाना चाहिए। की तरह कुछ:

Given /^I am signed in as "([^\"]*)"%/ do |username| 
    visit 'sign_in' 
    fill_in 'Username', :with => username 
    click 'Sign In' 
end 

current_user विधि के बाद से ब्राउज़र के लिए उपलब्ध नहीं है, तो आप अपने विवरण में इसे प्रयोग नहीं किया जाना चाहिए।

आप कर सकते थे नकली उपरोक्त चरण में @current_user भंडारण और फिर इसे के लिए एक विशेषता पाठक प्रदान करके आपके चरणों में।

+0

9 महीने बाद मैंने महसूस किया कि कैसे cucke को यह सही। अब समझें कि आपका जवाब एक दिन में सही क्यों था। – gmile

+0

हालांकि यह अभी भी निराशाजनक है। क्योंकि 'current_user' सर्वर पक्ष पर भी' शून्य 'है, न केवल ब्राउज़र की तरफ। –

1

मैं विचार है कि हर स्वीकृति परीक्षण (ककड़ी या अन्यथा) लॉगिन तर्क का प्रयोग करना चाहिए से असहमत हैं। सौभाग्य से, यदि आप सहमत हैं, तो क्लीयरेंस ने परीक्षणों में back door जोड़ा है जो आपको साइन इन चरणों को छोड़ने देता है।

user = create(:user) 
visit posts_path(as: user) 

अब आप अपनी प्रवेश-संबंधी सुविधाओं एक उपयोगकर्ता के रूप लॉगिन ui ड्राइविंग छोड़ सकते हैं होगा और छोड़ कि सुविधाओं है कि सीधे में प्रवेश से संबंधित नहीं हैं के लिए।

+0

बहुत बहुत धन्यवाद! – kwerle

संबंधित मुद्दे