This commit is contained in:
48
test/controllers/first_runs_controller_test.rb
Normal file
48
test/controllers/first_runs_controller_test.rb
Normal file
@@ -0,0 +1,48 @@
|
||||
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
|
||||
Reference in New Issue
Block a user