Files
writebook/test/controllers/first_runs_controller_test.rb

49 lines
1.1 KiB
Ruby

require "test_helper"
class FirstRunsControllerTest < ActionDispatch::IntegrationTest
setup do
Book.destroy_all
User.destroy_all
end
test "new" do
get first_run_url
assert_response :success
end
test "new is not permitted when users exist" do
create_user
get first_run_url
assert_redirected_to root_url
end
test "create" do
assert_difference -> { User.count }, 1 do
post first_run_url, params: { user: { name: "New Person", email_address: "new@37signals.com", password: "secret123456" } }
end
assert_redirected_to root_url
assert parsed_cookies.signed[:session_token]
end
test "create is not permitted when users exist" do
create_user
assert_no_difference -> { User.count } do
post first_run_url, params: { user: { name: "New Person", email_address: "new@37signals.com", password: "secret123456" } }
end
assert_redirected_to root_url
end
private
def create_user
User.create! \
name: "Existing Person",
email_address: "user@example.com",
password: "secret123456"
end
end