Hi Everyone,
I've been working with cucumber trying to tests links using the scenario
outline feature of cucumber. What I want to do is have it visit the
starting_page and then click on the specified link. It should then check to
make sure the title is correct on that page to ensure it's on the expected
page. Spent quite a bit of time googling without any luck.
Error I've been receiving:
expected css "title" to return something
> (RSpec::Expectations::ExpectationNotMetError)
> ./features/step_definitions/managing_pages_steps.rb:11:in `/^I should
> be able to change pages by clicking "([^"]*)" and the title is "([^"]*)"$/'
> features/managing_pages.feature:12:in `Then I should be able to
> change pages by clicking "<link>" and the title is "<title>"'
>
My code is below:
*
managing_pages.feature*
> Scenario Outline: As a user I need links in order to navigate the site
> Given I am an anonymous user
> When I am at the "<starting_page>" page
> Then I should be able to change pages by clicking "<link>" and the
> title is "<title>"
>
> Scenarios: As a user that is not logged in
> | starting_page | link | title |
> | / | Contact | Contact |
> | / | Home | Home |
>
*
* *managing_pages_steps.rb*
Given /^I am an anonymous user$/ do
> @user = nil
> end
>
> When /^I am at the "([^"]*)" page$/ do |starting_page|
> visit starting_page
> end
>
> Then /^I should be able to change pages by clicking "([^"]*)" and the title
> is "([^"]*)"$/ do |page_name, title|
> click_link page_name
> response.should have_selector('title', :content => "Contact")
> end
>
*
application_helper.rb
*
>
> module ApplicationHelper
>
> def title
> base_title = "Provisioner"
> if @title.nil?
> base_title
> else
> "#{base_title} | #{@title}"
> end
> end
> end
>
*
pages_controller.rb
*
> class PagesController < ApplicationController
> def home
> @title = "Home"
> end
>
> def contact
> @title = "Contact"
> end
> end
>
*
**layouts/application.html.erb*
<!DOCTYPE html>
> <html>
> <head>
> <title><%= title %></title>
> <%= stylesheet_link_tag :all %>
> <%= javascript_include_tag :defaults %>
> <%= csrf_meta_tag %>
> <%= link_to "Contact", contact_path %>
> <%= link_to "Home", root_path %>
> </head>
> <body>
>
> <%= yield %>
>
> </body>
> </html>
Any help is much appreciated!
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.