user3291025
user3291025

Reputation: 1127

RSpec / Capybara - Failing to log in

I am trying to learn TDD, and can't get this integration test with Capybara and Rspec to work. The user visits the home page, clicks "Login", fills out the form with an "Email" and "Password", clicks "Log in", and then I expect the page to have the content "Signed in Successfully".

home_page_spec.rb

require 'spec_helper'

feature 'Login' do
  scenario 'user logs in to the site' do
    visit root_path
    click_link 'Login'
    expect(page).to have_content "Sign in to your account."
    fill_in('Email', with: "[email protected]")
    fill_in 'Password', with: "password"
    click_button 'Log in'
    expect(page).to have_content('Signed in Successfully')
   end
 end

I am getting "Failure/Error: expect(page).to have_content('Signed in Successfully'). Expected to find text "Signed in Successfully" in . . . . " The text that it finds is the sign in page. It is as if the test is finding the Log in button, but either not clicking it, or the button is not forwarding the page, but it works if I do this by hand in the browser. Any suggestions? Thanks.

Upvotes: 1

Views: 385

Answers (1)

Vijayanand Nandam
Vijayanand Nandam

Reputation: 882

you can use the gem capybara-screenshot that save the page html and screen shot when a test fails. That way you can debug the issues. Or you can temporarily switch to selenium webdriver for capybara which opens the default browser and executes your tests.

Upvotes: 1

Related Questions