628a43ef61
Include identity.id in the my/identity.json response and return an empty body from the CREATE signup/completions.json endpoint. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
88 lines
1.9 KiB
Ruby
88 lines
1.9 KiB
Ruby
require "test_helper"
|
|
|
|
class Signup::CompletionsControllerTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
@signup = Signup.new(email_address: "newuser@example.com", full_name: "New User")
|
|
|
|
@signup.create_identity || raise("Failed to create identity")
|
|
|
|
sign_in_as @signup.identity
|
|
end
|
|
|
|
test "new" do
|
|
untenanted do
|
|
get new_signup_completion_path
|
|
end
|
|
|
|
assert_response :success
|
|
end
|
|
|
|
test "create" do
|
|
untenanted do
|
|
post signup_completion_path, params: {
|
|
signup: {
|
|
full_name: @signup.full_name
|
|
}
|
|
}
|
|
end
|
|
|
|
assert_response :redirect, "Valid params should redirect"
|
|
end
|
|
|
|
test "shows welcome letter after signup" do
|
|
untenanted do
|
|
post signup_completion_path, params: {
|
|
signup: {
|
|
full_name: @signup.full_name
|
|
}
|
|
}
|
|
end
|
|
|
|
assert flash[:welcome_letter]
|
|
end
|
|
|
|
test "create with blank name" do
|
|
untenanted do
|
|
post signup_completion_path, params: {
|
|
signup: {
|
|
full_name: ""
|
|
}
|
|
}
|
|
end
|
|
|
|
assert_response :unprocessable_entity
|
|
assert_select ".txt-negative" do
|
|
assert_select "li", text: "Full name can't be blank"
|
|
end
|
|
end
|
|
|
|
test "create via JSON" do
|
|
untenanted do
|
|
assert_difference -> { Account.count }, +1 do
|
|
post signup_completion_path(format: :json), params: {
|
|
signup: {
|
|
full_name: @signup.full_name
|
|
}
|
|
}
|
|
end
|
|
end
|
|
|
|
assert_response :created
|
|
end
|
|
|
|
test "create via JSON with blank name" do
|
|
untenanted do
|
|
assert_no_difference -> { Account.count } do
|
|
post signup_completion_path(format: :json), params: {
|
|
signup: {
|
|
full_name: ""
|
|
}
|
|
}
|
|
end
|
|
end
|
|
|
|
assert_response :unprocessable_entity
|
|
assert_includes @response.parsed_body["errors"], "Full name can't be blank"
|
|
end
|
|
end
|