
G. Silva
4,341 Pointstest failure even after adding validation
Error MSG:
Failures:
1) Creating todo lists displays an error when the todo list has no description
Failure/Error: expect (page).to have_content("New todo list")
NoMethodError:
undefined method to' for #<Capybara::Session>
# ./spec/features/todo_lists/create_spec.rb:58:in
block (2 levels) in <top (required)>'
2) Creating todo lists redirects to the todo list index page on success
Failure/Error: expect (page).to have_content("New todo_list")
NoMethodError:
undefined method to' for #<Capybara::Session>
# ./spec/features/todo_lists/create_spec.rb:7:in
block (2 levels) in <top (required)>'
3) Creating todo lists displays an error when the todo list has no title
Failure/Error: expect (page).to have_content("New todo_list")
NoMethodError:
undefined method to' for #<Capybara::Session>
# ./spec/features/todo_lists/create_spec.rb:22:in
block (2 levels) in <top (required)>'
4) Creating todo lists displays an error when the todo list has a title less than 3 characters
Failure/Error: expect (TodoList.count).to eq(0)
NoMethodError:
undefined method to' for 0:Fixnum
# ./spec/features/todo_lists/create_spec.rb:36:in
block (2 levels) in <top (required)>'
Finished in 0.06127 seconds 4 examples, 4 failures
Failed examples:
rspec ./spec/features/todo_lists/create_spec.rb:53 # Creating todo lists displays an error when the todo list has no description rspec ./spec/features/todo_lists/create_spec.rb:4 # Creating todo lists redirects to the todo list index page on success rspec ./spec/features/todo_lists/create_spec.rb:17 # Creating todo lists displays an error when the todo list has no title rspec ./spec/features/todo_lists/create_spec.rb:35 # Creating todo lists displays an error when the todo list has a title less than 3 characters
Randomized with seed 23534
CREATE SPEC FILE
require 'spec_helper'
describe "Creating todo lists" do it "redirects to the todo list index page on success" do visit "/todo_lists" click_link "New Todo list" expect (page).to have_content("New todo_list")
fill_in "Title", with: "My todo list"
fill_in "Description", with:"This is what I'm doing today"
click_button "Create Todo list"
expect (page).to have_content("My todo list")
end
it "displays an error when the todo list has no title" do expect(TodoList.count).to eq(0)
visit "/todo_lists"
click_link "New Todo list"
expect (page).to have_content("New todo_list")
fill_in "Title", with: ""
fill_in "Description", with:"This is what I'm doing today"
click_button "Create Todo list"
expect (page).to have_content("error")
expect(TodoList.count).to eq(0)
visit "/todo_lists"
expect (page).to_not have_content("This is what I'm doing today")
end
it "displays an error when the todo list has a title less than 3 characters" do expect (TodoList.count).to eq(0)
visit "/todo_lists"
click_link "New Todo list"
expect (page).to have_content("New todo list")
fill_in "Title", with: "Hi"
fill_in "Description", with:"This is what I'm doing today"
click_button "Create Todo list"
expect (page).to have_content("error")
expect(TodoList.count).to eq(0)
visit "/todo_lists"
expect (page).to_nots have_content("This is what I'm doing today")
end
it "displays an error when the todo list has no description" do expect(TodoList.count).to eq(0)
visit "/todo_lists"
click_link "New Todo list"
expect (page).to have_content("New todo list")
fill_in "Title", with: "Grocery list"
fill_in "Description", with:""
click_button "Create Todo list"
expect (page).to have_content("error")
expect (TodoList.count).to eq(0)
visit "/todo_lists"
expect (page).to_not have_content("Grocery list")
end end
1 Answer

Brandon Barrette
20,485 PointsYou can't have a space between expect and (page). Should be this:
expect(page).to have_content("This is my content")
And not this:
expect (page).to have_content("This is my content")
G. Silva
4,341 PointsG. Silva
4,341 PointsThanks Brandon, that solved 3 of the tests failures. Then I found a mistyped word and now all tests pass : )