Hello forum I have there to files
#----- virtual_host_controller.rb class VirtualHostsController < ApplicationController before_filter :capture_domain # GET /domain/1/virtual_hosts/1 def show @virtual_host = @domain.virtual_hosts.find(params[:id]) respond_to do |format| format.html # show.rhtml end end private def capture_domain if params[:domain_id].blank? flash[:notice] = 'Need domain.' redirect_to domains_url else @domain = Domain.find(params[:domain_id]) end end end #---- and #----- virtual_host_controller_spec.rb describe VirtualHostsController, "handling GET /domains/1/virtual_hosts/1" do before do @domain = mock_model(Domain) @virtual_hosts = mock("virtual_hosts") @virtual_host = mock("virtual_host") Domain.should_receive(:find).with("1").and_return(@domain) @domain.should_receive(:virtual_hosts).and_return(@virtual_hosts) @virtual_hosts.should_receive(:find).and_return(@virtual_host) login_as :admin end def do_get get :show, :id => "1", :domain_id => "1" end it "should render show template" do do_get response.should render_template('show') end it "should find the virtual_host requested" do # @domain.should_receive(:virtual_hosts).and_return(@virtual_hosts) @virtual_hosts.should_receive(:find).with('1').and_return(@virtual_host) do_get end it "should assign the found virtual_host for the view" do do_get assigns[:virtual_host].should equal(@virtual_host) end #----- I have a problem with these three it should-cases. How can I make them to work. The error is: should find the virtual_host requested Mock 'virtual_hosts' expected :find with ("1") once, but received it 0 times The routes are like this: map.resources :domains do |domains| domains.resources :virtual_hosts end What can I do? _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users