Whoops..wrong post. should be
post :create, :organization_id => @organization.id, :new_note => { :body => "" } Copying from the wrong window... Tiffani AB On Tue, Jul 8, 2008 at 12:14 AM, Tiffani Ashley Bell <[EMAIL PROTECTED]> wrote: > Yeah, I was on 1.1.4 and this solution with a few tweaks definitely > worked. The original set up of my code called for having the Organization > returned by the notes controller in a before filter, so I stubbed out this > stuff in the before(:each) block. It ended up looking like this: > > before(:each) do > @organization = stub_model(Organization, :name => "Slappy's Hot Dog > Palace") > Organization.stub!(:find).and_return(@organization) > end > > Then, I followed Craig's lead on what the example should do with a few > things taken out: > > it "should render 'notes/new' when an empty note is submitted" do > Note.stub!(:new).and_return(stub("note")) > > post :create, :appointment_id => @appointment.id, :organization_id => @ > organization.id, :new_note => { :body => "" } > response.should render_template("notes/new") > end > > I kept the controller method just like it was in the original post. And > whoooo! Everything passed. I'll be making sure I really differentiate the > necessity of mock_model vs. stub_model from now on, too as a take-away from > all this. Learning this stuff has really been interesting considering > months ago the only testing I was doing was making changes in Textmate and > then clicking "Refresh" in a browser. lol. > > Thanks again! > Tiffani AB > > > On Mon, Jul 7, 2008 at 10:31 PM, Craig Demyanovich <[EMAIL PROTECTED]> > wrote: > >> I'm assuming RSpec 1.1.3+, but here's how I might write this example: >> >> describe NotesController do >> it "renders 'notes/new' when an empty note is submitted" do >> Note.stub!(:new).and_return(stub("note")) >> organization = stub_model(Organization, :notes => stub("notes", >> :<< => false)) >> assigns[:organization] = organization >> >> post :create, "organization_id" => organization.to_param, >> "new_note" => { "body" => "" } >> >> response.should render_template("notes/new") >> end >> end >> >> I'm favoring the use of stub_model and stubs instead of mock_model >> (and mocks) because we're not setting any expectations on the note or >> the organization. Rather, we're just setting them up to deliver values >> that are either simply required (as in Note.new returning something >> non-nil) or what we want (the addition of the note to the organization >> to fail). >> >> I've also eliminated the idea of having existing notes on the >> organization. It's not central to what's being spec'd, so it's out. >> >> Furthermore, I made the submitted note's body empty because that's >> what was in the original description of the it block. That those two >> didn't match bothered me. >> >> Finally, I simplified the description of the it block to what I >> thought the essence of your example was; I hope that I'm at least >> close. :-) >> >> Please let the list know if this helped or if you already revisited >> the problem and solved it. I think we're interested in what ends up >> working for you. >> >> Regards, >> Craig >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users