Ich versuche, wie so die Session-Hash für einen Controller zu verspotten:rspec Schienen spöttischen Sitzung Hash
it "finds using the session[:company_id]" do
session.should_receive(:[]).with(:company_id).and_return 100
Company.should_receive(:find).with(100)
get 'show'
end
wenn ich 'Show' nennen es heißt:
received :[] with unexpected arguments
expected: (:company_id)
got: ("flash")
Der Controller-Code sieht aus wie:
def show
company_id = session[:company_id]
@company = Company.find params[company_id]
end
ich auch einfach haben versucht Einstellung
it "finds using the session[:company_id]" do
session[:company_id]= 100
Company.should_receive(:find).with(100)
get 'show'
end
dann aber ein Problem bekommen:
expected: (100)
got: (nil)
Wer Ideen warum?
Hier ist meine Antwort auf diese Frage: http://stackoverflow.com/questions/8043956/rspec-2-7-access-controller-session-in-spec-before-making-request/13369734#13369734 –