On Jan 10, 2008 6:48 PM, Nathan Sutton <[EMAIL PROTECTED]> wrote: > You should browse over how shoulda does it here: > http://thoughtbot.com/projects/shoulda/tutorial/controllers
Or how others are supplying plugins for rspec: http://weblog.techno-weenie.net/2007/12/26/controller-specs-are-a-drag http://git.caboo.se/?p=altered_beast.git;a=tree;f=vendor/plugins/rspec_on_rails_on_crack/lib;h=62b5fe1ccad8186a989f5d72dd218f3678fae518;hb=HEAD > > and here: > http://dev.thoughtbot.com/shoulda/classes/ThoughtBot/Shoulda/Controller/ClassMethods.html > > Nathan Sutton > [EMAIL PROTECTED] > rspec 1.1 > rspec_on_rails 1.1 > rails 2.0.2 > > > On Jan 10, 2008, at 6:29 PM, Jonathan Leighton wrote: > > > On Thu, 2008-01-10 at 18:47 -0500, Josh Knowles wrote: > >> On 1/10/08, Nathan Sutton <[EMAIL PROTECTED]> wrote: > >>> Hmm, that includes a good number of them, but there's still the > >>> restful resource to think about, which is in my opinion the most > >>> valuable one. Would you consider the addition of a restful resource > >>> matcher similar to shoulda's? > >> > >> Yes. If you work something up I'd happily add it. Unfortunately I > >> don't have the need/time/desire to do it myself right now though. > > > > My reservation with the idea of "should be restful" is that you have > > to > > assume an awful lot about how the controller is implemented. That's > > fine > > if you use scaffolding excessively but if you actually write your own > > code (!!) things quickly start to deviate from the trodden path. > > > > Recently I have been writing my controller specs a bit like this (I > > have > > some support code to enable it): > > > > describe PostsController do > > controller_name :posts > > stub_resource > > > > describe "when a post is viewed and the current user is an admin" do > > log_in :as => :admin > > get :show, :id => 42 > > > > it_should_find > > it_should_load_awesome_admin_stuff > > end > > > > describe "when a post is edited by a normal user" do > > log_in :as => :prole > > get :edit, :id => 23 > > > > it_should_find > > it_should_warn > > it_should_redirect_to "the post's page", :at => "post_path(@post)" > > end > > end > > > > Some of the above is me using my creative license but you get the > > idea. > > Just thought it might spark some ideas/opinions... it's certainly > > not a > > perfect implementation/API but I've found the general idea quite > > useful. > > I personally think this is the right level at which to make the > > abstraction - you are still specifying the behaviour explicitly, just > > writing less code when doing it. > > > > Jon > > > > -- > > Jonathan Leighton > > http://jonathanleighton.com/ > > > > _______________________________________________ > > rspec-users mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
