के साथ rspec नियंत्रक परीक्षण मुझे rspec परीक्षण नियंत्रक devise प्रमाणीकरण के साथ समस्या हो रही है।devise प्रमाणीकरण
मैं एक निम्न सेटअप
मैं अपने spec_helper.rb
में
config.include Devise::TestHelpers, :type => :controller
को शामिल किया है मेरी merchants_controller_spec.rb में है
describe MerchantsController do
before :each do
@user = Factory(:user)
@merchant = Factory(:merchant, :user_id => @user.id,:is_approved => false, :is_blacklisted => false)
controller.stub!(:current_user).and_return(@user)
end
describe "GET index" do
it "assigns all merchants as @merchants" do
merchant = Factory(:merchant,:is_approved => true, :is_blacklisted => false)
get :index
assigns(:merchants).should eq([merchant])
end
end
end
मेरे merchants_controller.rb
class MerchantsController < ApplicationController
before_filter :authenticate_user!
def index
@merchants = Merchant.approved
debugger
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @merchants }
end
end
end
मैं एक गुंजाइश व्यापारी मॉडल में मंजूरी दे दी
scope :approved, where(:is_approved => true, :is_blacklisted => false)
अब मेरी समस्या भले ही मैं current_user टोंटदार और लौट आए @user current_user के रूप में, मेरे merchants_controller सूचकांक कल्पना विफल हो रहा है है। लेकिन अगर मैं certicate_user टिप्पणी करता हूँ! तो spec पास,
प्रमाणीकरण_यूसर के बिना! इंडेक्स एक्शन का डीबगर पकड़ा गया है लेकिन प्रमाणीकरण_यूसर के साथ! डीबगर पकड़ा नहीं गया है।
मुझे लगता है कि current_user subbing में समस्या है और मैं इसे समझने में सक्षम नहीं हूं।
मुझे बाहर मदद ..
! (: Current_user) .and_return (@user) sign_in @user लेकिन अभी भी साथ मेरी समस्या का समाधान नहीं करता है। मुझे लगता है कि उपयोगकर्ता अभी भी प्रमाणित नहीं है क्योंकि इंडेक्स एक्शन के अंदर डीबगर अभी भी पकड़ा नहीं गया है। कोई विचार? – Gagan
मेरी इच्छा है कि मैं इसे दो बार बढ़ा सकता हूं। मेरे व्यवस्थापक को बनाने के लिए मेरे पास एक नेस्टेड फैक्ट्री थी, और मुझे पता नहीं लगा कि उपयोगकर्ता क्यों बनाया जा रहा था लेकिन लॉग इन नहीं किया गया। – Arel