Forum: RSpec Testing variables in controllers?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ramon T. (Guest)
on 2008-11-06 17:21
(Received via mailing list)
How do you test that your controller fetched the right records?

I have an action that returns a different set of records based on
whether or not the current_user is the "owner" of the profile being
viewed.

Code is here http://pastie.org/308685.

"controller.submissions.size.should == 1" makes sense but it doesn't
work.  Of course, I might be doing this wrong altogether!  Very new to
rspec.

Thanks!
Ramon T.
Fernando P. (Guest)
on 2008-11-06 17:39
Ramon T. wrote:
> How do you test that your controller fetched the right records?
>
> I have an action that returns a different set of records based on
> whether or not the current_user is the "owner" of the profile being
> viewed.
>
> Code is here http://pastie.org/308685.
>
> "controller.submissions.size.should == 1" makes sense but it doesn't
> work.  Of course, I might be doing this wrong altogether!  Very new to
> rspec.
>
> Thanks!
> Ramon T.

From what I read and my little experience with rpsec, you shouldn't test
for the exact return values. This kind of test should be done when
testing the model alone.
Matt W. (Guest)
on 2008-11-06 18:04
(Received via mailing list)
woah!

You're exposing way too much of your model here, IMO. That is forcing
you to do all that noisy mocking setup in your before block.

Can you make a method on your user object like User#valid_submissions
and have that return the correct submissions?

How do you know whether the user is the profile owner?
Nick H. (Guest)
on 2008-11-06 19:15
(Received via mailing list)
On 2008-11-06, at 09:36, Ramon T. wrote:
> rspec.
>
> Thanks!
> Ramon T.

Hi Ramon. I'd refactor most of what's in the "before :show do" block
into a couple of User instance methods (or whichever model @user
belongs to). For example: http://pastie.org/308814

Cheers,
Nick
Ramon T. (Guest)
on 2008-11-06 19:43
(Received via mailing list)
Cool thanks Fernando, Matt, Nick - it seems like I haven't made my
models fat enough.  That seems to be the answer :)

Ramon T.
This topic is locked and can not be replied to.