[rspec-users] Shoulda
Nathan Sutton
nathan.sutton at gmail.com
Thu Jan 10 19:48:09 EST 2008
You should browse over how shoulda does it here:
http://thoughtbot.com/projects/shoulda/tutorial/controllers
and here:
http://dev.thoughtbot.com/shoulda/classes/ThoughtBot/Shoulda/Controller/ClassMethods.html
Nathan Sutton
fowlduck at gmail.com
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 <nathan.sutton at gmail.com> 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
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
More information about the rspec-users
mailing list