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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Mon, Jul 25, 2011 at 9:49 PM, Brian Jakovich <b.jakovich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> 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''re getting this error>> expected css "title" to return something >> (RSpec::Expectations::ExpectationNotMetError)Webrat is expecting a <title> html tag. You''re usign have_selector and you''re specifying a tagname. Do you have something like <title>Contact</title> in that page?>>response.should have_selector(''title'', :content => "Contact")> > -- > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. >-- Leonardo Mateo. There''s no place like ~ -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Ya, it''s in the layout. <title><%= title %></title>>which uses the application helper *application_helper.rb *> > module ApplicationHelper > > def title > base_title = "Provisioner" > if @title.nil? > base_title > else > "#{base_title} | #{@title}" > end > end > endwhich gets the @title from the pages controller def contact> @title = "Contact" > end >On Tue, Jul 26, 2011 at 6:18 AM, Leonardo Mateo <leonardomateo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:> On Mon, Jul 25, 2011 at 9:49 PM, Brian Jakovich <b.jakovich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: > > 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''re getting this error > >> expected css "title" to return something > >> (RSpec::Expectations::ExpectationNotMetError) > > Webrat is expecting a <title> html tag. You''re usign have_selector and > you''re specifying a tagname. Do you have something like > <title>Contact</title> in that page? > > >>response.should have_selector(''title'', :content => "Contact") > > > > > -- > > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to > > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > For more options, visit this group at > > http://groups.google.com/group/rubyonrails-talk?hl=en. > > > > > > -- > Leonardo Mateo. > There''s no place like ~ > > -- > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.