When the user clicks "Log In", if log in was successful, it should go to 
(be redirected to) some page indicating that success with some content of 
that success.
So I would write something like:

  page.should have_content("successful login")  OR
  expect(page).to have_content 'successful login'
  or maybe the username appears somewhere, test for the presence of that, esp 
since you already have @u1, which you are evidently not using.
I think that the key is to test for what you 'expect' to find on the following 
'page'.
Look at https://gist.github.com/zhengjia/428105, a capybara cheat sheet. The 
Querying section 

Hope this helps
Liz
  



 

On Sunday, June 21, 2015 at 3:01:22 AM UTC-4, Jason Hsu, Rubyist wrote:
>
> I have an app with admin users created with the devise gem.
>
> I have succeeded in redirecting anyone who tries to access an admin 
> profile page but is NOT logged in as an admin to the root_path (
> http://localhost:3000).
>
> However, I'm having difficulty getting the tests to pass in my integration 
> test.  (I'm using Capybara and minitest.)
>
> In the admins controller, the first line under "def index" is:
> redirect_to(root_path) unless admin_signed_in?
>
> In the integration test, I start with the following code:
>     test_prepare # From test/test_helper.rb
>     @u1 = users(:connery) # From test/fixtures/users.yml
>     @a1 = admins(:vivian_kensington) # From test/fixtures/admin.yml
>     visit new_user_session_path
>     fill_in('Email', with: '[email protected] <javascript:>')
>     fill_in('Password', with: 'original')
>     uncheck('Remember me')
>     click_button('Log in')
>     visit admin_path(@a1)
>
> How do I test for the redirect?  The path parameter at this point is nil 
> and NOT root_path or '/'.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/0b388bc4-8878-4987-8e24-b6d8267621a9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to