2013-06-04 5 views
5

उत्पन्न नहीं कर रहा है, मैं नामस्थान नियंत्रक के लिए आरएसपीसी नियंत्रक परीक्षण बनाने का प्रयास कर रहा हूं, लेकिन आरएसपीईसी घोंसले का पता लगाने में सक्षम नहीं है और post :create कार्रवाई के लिए उचित पथ उत्पन्न नहीं कर पाता है।आरएसपीसी कंट्रोलर टेस्ट सही यूआरएल

यह मेरी कल्पना कोड है:

# for: /app/controllers/admin/crm/report_adjustments_controller.rb 
require 'spec_helper' 
describe Admin::Crm::ReportAdjustmentsController do 
    render_views 

    before(:each) do 
    signin 
    end 

    describe "GET 'index'" do 
    it "returns http success" do 
     get :index 
     response.should be_success 
    end 
    end 

    describe "POST 'create'" do 
    it "creates with right parameters" do 
     expect { 
     post :create, report_adjustment: {distributor_id: @ole_distributor.id, amount: "30.0", date: Date.today } 
     }.to change(Crm::ReportAdjustment, :count).by(1) 
     response.should be_success 
    end 
    end 
end 

# routes.rb 
namespace :admin do 
    namespace :crm do 
    resources :report_adjustments 
    end 
end 

इस कोड के लिए, get :index काम करता है ठीक है, लेकिन जब post :create कहा जाता है, तो निम्न त्रुटि उत्पन्न होता है: undefined method 'crm_report_adjustment_url'

क्यों RSpec बहुत चालाक हो जाएगा get :index के साथ चीजों को समझने के लिए, लेकिन post :create के साथ नहीं? मैं सही मार्ग को सही तरीके से लोड करने के लिए आरएसपीसी कैसे प्राप्त करूं, जो admin_crm_report_adjustments_url है?

अग्रिम धन्यवाद। बजाय यूआरएल को

+1

दोनों ': get' और': post' ही संभाला जाना चाहिए। 'प्रक्रिया' पर एक नज़र डालें जो अनुरोध सामग्री को संभालती है: http://apidock.com/rails/v3.2.13/ActionController/TestCase/Behavior/process आप pry, debugger का उपयोग करके इसे अपने एप्लिकेशन में डीबग करने का प्रयास कर सकते हैं या – phoet

+0

डाल सकते हैं मुझे एक ही समस्या है, क्या आपको समाधान @roflmao मिला? – dwhite

उत्तर

1

कोशिश पोस्टिंग:

post admin_crm_report_adjustments_url 

# or 

post "/admin/crm/report_adjustments" 
संबंधित मुद्दे