[rspec-users] get to a different controller

David Chelimsky dchelimsky at gmail.com
Tue Jan 5 20:01:39 EST 2010


On Tue, Jan 5, 2010 at 6:44 PM, Wincent Colaiuta <win at wincent.com> wrote:

> El 05/01/2010, a las 21:52, Phillip Koebbe escribió:
>
>
>  Pat Maddox wrote:
>>
>>> The spec has Admin::BaseController as the described type.  So of course
>>> it's going to test against that.  If you want to test a different class, you
>>> need to describe that instead!
>>>
>>
>> Hi Pat,
>>
>> Right. But, I'm not really wanting to test a different class. My intention
>> is to put the require_admin in the base_controller and have all the admin
>> controllers descend from it, so I don't have to duplicate the before_filter.
>> I was trying to be simple and make a request to a controller that descends
>> from base_controller, thinking that if it got through and didn't redirect to
>> the error page, it worked. How would you suggest I test that
>>
>
> I test inherited stuff with shared behaviors. It might be something you
> could use here.
>
> Basically, I have a bunch of behavior in my ApplicationController, for
> example, and in my spec/controllers/application_controller_spec.rb file I
> have a bunch of blocks like this:
>
>  describe ApplicationController, 'protected methods', :shared => true do
>    ...
>  end
>
>  describe ApplicationController, 'parameter filtering', :shared => true do
>    ...
>  end
>
> And I then group them all together in one more shared behavior:
>
>  describe ApplicationController, :shared => true do
>    it_should_behave_like 'ApplicationController protected methods'
>    it_should_behave_like 'ApplicationController parameter filtering'
>    ...
>  end
>
> And finally in all subclasses which inherit I can now just do:
>
>  describe ArticlesController do
>    it_should_behave_like 'ApplicationController'
>    ...
>  end
>
> So the behavior inherited from the superclass is specified, but it is also
> tested independently by the inheriting subclasses.
>

Yay!


>
> I imagine the same idea might be adaptable in some way for your use case.
>
> Cheers,
> Wincent
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20100105/b0910661/attachment-0001.html>


More information about the rspec-users mailing list