Reputation: 3439
I am writing tests with my RoR application. my static_pages_spec.rb
# encoding: utf-8
require 'spec_helper'
describe "Static pages" do
subject { page }
describe "Home page" do
before { visit root_path }
it { should have_selector('h1', text: 'Giripedia') }
it { should have_selector('title', text: full_title('')) }
it { should_not have_selector 'title', text: '| Home' }
end
describe "Help page" do
before { visit help_path }
it { should have_selector('h1', text: 'Yardım') }
it { should have_selector('title', text: full_title('Help')) }
end
describe "About page" do
before { visit about_path }
it { should have_selector('h1', text: 'Hakkımızda') }
it { should have_selector('title', text: full_title('About Us')) }
end
describe "Contact page" do
before { visit contact_path }
it { should have_selector('h1', text: 'İletişim') }
it { should have_selector('title', text: full_title('Contact')) }
end
end
and in my spec/support/utilites.rb file
def full_title(page_title)
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
"#{base_title} | #{page_title}"
end
end
If I change base_title = "Giripedia forum ". The tests fail and give me errors :
1) Static pages Home page
Failure/Error: it { should have_selector('title', text: full_title('')) }
expected css "title" with text "Giripedia forum" to return something
# ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in <top (required)>'
2) Static pages Help page
Failure/Error: it { should have_selector('title', text: full_title('Help')) }
expected css "title" with text "Giripedia forum | Help" to return something
# ./spec/requests/static_pages_spec.rb:21:in `block (3 levels) in <top (required)>'
3) Static pages About page
Failure/Error: it { should have_selector('title', text: full_title('About Us')) }
expected css "title" with text "Giripedia forum | About Us" to return something
# ./spec/requests/static_pages_spec.rb:28:in `block (3 levels) in <top (required)>'
4) Static pages Contact page
Failure/Error: it { should have_selector('title', text: full_title('Contact')) }
expected css "title" with text "Giripedia forum | Contact" to return something
# ./spec/requests/static_pages_spec.rb:35:in `block (3 levels) in <top (required)>'
Why does the change in base_title starts to fail in tests?
Upvotes: 1
Views: 280
Reputation: 3439
I could manage to find my mistake here. May be this would help others.
I only changed base_title in spec file. But I was supposed to change the base_title which is belonging the app/helper which was tested.
I know , I should read the test log well.
Upvotes: 1