52 lines
1.3 KiB
Ruby
52 lines
1.3 KiB
Ruby
require "test_helper"
|
|
|
|
class SignupTest < ActiveSupport::TestCase
|
|
test "#create_identity" do
|
|
signup = Signup.new(email_address: "brian@example.com")
|
|
|
|
assert_difference -> { Identity.count }, 1 do
|
|
assert_difference -> { MagicLink.count }, 1 do
|
|
assert signup.create_identity
|
|
end
|
|
end
|
|
|
|
assert_empty signup.errors
|
|
assert signup.identity
|
|
assert signup.identity.persisted?
|
|
|
|
signup_existing = Signup.new(email_address: "brian@example.com")
|
|
|
|
assert_no_difference -> { Identity.count } do
|
|
assert_difference -> { MagicLink.count }, 1 do
|
|
assert signup_existing.create_identity, "Should send magic link for existing identity"
|
|
end
|
|
end
|
|
|
|
signup_invalid = Signup.new(email_address: "")
|
|
assert_raises do
|
|
signup_invalid.create_identity
|
|
end
|
|
end
|
|
|
|
test "#complete" do
|
|
Account.any_instance.expects(:setup_customer_template).once
|
|
|
|
Current.without_account do
|
|
signup = Signup.new(full_name: "Kevin", identity: identities(:kevin))
|
|
|
|
assert signup.complete
|
|
|
|
assert signup.account
|
|
assert signup.user
|
|
assert_equal "Kevin", signup.user.name
|
|
|
|
signup_invalid = Signup.new(
|
|
full_name: "",
|
|
identity: identities(:kevin)
|
|
)
|
|
assert_not signup_invalid.complete
|
|
assert_not_empty signup_invalid.errors[:full_name]
|
|
end
|
|
end
|
|
end
|