Bring simple signup flow from the fizzy-saas gem

We skip the QB code and we fill external account ids automatically on creation with a sequence

See:
https://github.com/basecamp/fizzy-saas/pull/7
This commit is contained in:
Jorge Manrubia
2025-11-27 12:57:36 +01:00
parent 2061ab4ab2
commit 4e09352c09
19 changed files with 443 additions and 34 deletions
@@ -0,0 +1,43 @@
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 "create with invalid params" do
untenanted do
post signup_completion_path, params: {
signup: {
full_name: ""
}
}
end
assert_response :unprocessable_entity, "Invalid params should return unprocessable entity"
end
end