testing: click_link error I can't track down

Here is the error I am getting:

.....F

Failures:
  1) LayoutLinks should have the right links on the layout
     Failure/Error: click_link "Sign up"
     Could not find link with text or title or id "Sign up"
     # ./spec/requests/layout_links_spec.rb:37:in `block (2 levels) in
<top (required)>'

Finished in 0.28358 seconds
6 examples, 1 failure

Here is the test file for LayoutLinks. The last 'it block' has the
click_link that is giving me the problem:

#spec/requests/layout_links_spec.rb:

require 'spec_helper'

describe "LayoutLinks" do
  it "should have a Home page at: /" do
    get '/'
    response.should have_selector('title', :content => "Home")
  end

  it "should have an About page at: /about" do
    get '/about'
    response.should have_selector('title', :content => "About")
  end

  it "should have a Contact page at: /contact" do
    get '/contact'
    response.should have_selector('title', :content => "Contact")
  end

  it "should have a Help page at: /help" do
    get '/help'
    response.should have_selector('title', :content => "Help")
  end

  it "should have a Sign up page at: /signup" do
    get "/signup"
    response.should have_selector('title', :content => "Sign up")
  end

  it "should have the right links on the layout" do
    visit root_path
    click_link "About"
    response.should have_selector('title', :content => "About")
    click_link "Contact"
    response.should have_selector('title', :content => "Contact")
    click_link "Help"
    response.should have_selector('title', :content => "Help")
    click_link "Sign up"
    response.should have_selector('title', :content => "Sign up")
    click_link "Home"
    response.should have_selector('title', :content => "Home")
  end

The other click_link's pass their tests. It's only the 'Sign up' link
that is giving me the problem. The only difference I can discern is
that the page with the 'Sign up' link is handled by a different
controller: Users v. Pages.

Here is the application layout:

application.html.erb:

Cross posted to:

http://stackoverflow.com/questions/6701223/rail3-tutorial-testing-click-link-error

I presume that you have looked at the html generated for that page
(View > Page Source or similar in your browser) to see whether it is
the html that is at fault or the test. If it is the html then what
html is generated for that link and what do you expect it to be to
pass the test? If you think the html is correct and the test should
pass then show us the html for the link.

Colin

Hi,

Thanks for the response. When I manually click on the 'Sign up' link on
the Home page, it successfully displays the following page (which is
what I want):

app/views/users/new.html.erb

Hi,

Thanks for the response. When I manually click on the 'Sign up' link on
the Home page, it successfully displays the following page (which is
what I want):

app/views/users/new.html.erb
----------------------------
<h1>Users#new</h1>
<p>Find me in app/views/users/new.html.erb</p>

And if I click on View Source for the Home page, the 'Sign up' link is
there (not to be confused with the "Sign in" link):

If you look at your spec, the line above you've gone to the help page,
and it's on that page that a sign up link is being looked for.
It's as if you, in a real browser, was going to the home page and
(without opening links in new tabs etc) clicked on links in the order
specified, waiting for the page to load after each click

Fred

Thanks Fred. After spending hours creating a duplicate app, I happened
to cut and paste the 'Sign up' click_link in a different order, and the
tests passed. After pasting the 'Sign up' click_link in several
different places and examining the results, I came up with the
explanation you posted.

I was about to give up! I would have seen your explanation eventually,
so thanks.