66 lines
1.3 KiB
Ruby
66 lines
1.3 KiB
Ruby
require 'minitest/autorun'
|
|
require 'capybara/minitest'
|
|
|
|
require_relative '../app'
|
|
|
|
# make test report prettier
|
|
require "minitest/reporters"
|
|
Minitest::Reporters.use!
|
|
|
|
Capybara.app = App
|
|
|
|
class AppTest < Minitest::Test
|
|
include Capybara::DSL
|
|
include Capybara::Minitest::Assertions
|
|
|
|
def teardown
|
|
Capybara.reset_sessions!
|
|
Capybara.use_default_driver
|
|
end
|
|
|
|
# always passes, just to make sure tests are running
|
|
def test_the_truth
|
|
assert true
|
|
end
|
|
|
|
# Make sure not just responding to every path
|
|
def test_random_page_does_not__exist
|
|
visit '/skdjflksjdflkzxbjslkdjqweooiumnbvjslkdjflk'
|
|
refute_equal 200, page.status_code
|
|
end
|
|
|
|
def test_home_page_exists
|
|
visit '/'
|
|
assert_equal 200, page.status_code
|
|
end
|
|
|
|
# Can change the checked content as your site evolves:
|
|
def test_home_page_has_content
|
|
visit '/'
|
|
assert_content 'My Homepage'
|
|
end
|
|
|
|
def test_about_page_exists_and_has_content
|
|
visit '/about'
|
|
assert_equal 200, page.status_code
|
|
assert_content 'About This Site'
|
|
end
|
|
|
|
def test_home_page_title
|
|
visit '/'
|
|
assert_title 'Homepage'
|
|
end
|
|
|
|
def test_about_page_title
|
|
visit '/about'
|
|
assert_title 'About page'
|
|
end
|
|
|
|
# Check for hello/randomname
|
|
def test_say_hello_to_anyone
|
|
visit '/hello/randomnamexyz'
|
|
assert_content 'Hello, Randomnamexyz!'
|
|
end
|
|
|
|
end
|