From 6efeb032526ed6701c1347ef133d840267ce82ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanko=20Krtali=C4=87?= Date: Fri, 17 Oct 2025 20:23:34 +0200 Subject: [PATCH] Create system user with account (#1345) * Create system user with account * Update tests --- app/models/account.rb | 1 + gems/fizzy-saas/app/models/signup.rb | 2 +- test/models/account_test.rb | 15 +++++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index c7c00f979..5ca3b3629 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -5,6 +5,7 @@ class Account < ApplicationRecord class << self def create_with_admin_user(account:, owner:) + User.system User.create!(**owner.reverse_merge(role: "admin", password: SecureRandom.hex(16))) create!(**account) end diff --git a/gems/fizzy-saas/app/models/signup.rb b/gems/fizzy-saas/app/models/signup.rb index c0114436a..f9ead90be 100644 --- a/gems/fizzy-saas/app/models/signup.rb +++ b/gems/fizzy-saas/app/models/signup.rb @@ -65,7 +65,7 @@ class Signup password: password } ) - @user = User.first + @user = User.find_by!(role: :admin) @account.setup_basic_template end end diff --git a/test/models/account_test.rb b/test/models/account_test.rb index 50a338d67..a1ac811d1 100644 --- a/test/models/account_test.rb +++ b/test/models/account_test.rb @@ -24,12 +24,15 @@ class AccountTest < ActiveSupport::TestCase assert_equal ActiveRecord::FixtureSet.identify("account-create-with-admin-user-test"), account.external_account_id assert_equal "Account Create With Admin", account.name - assert_equal 1, User.count - User.first.tap do |user| - assert_equal "David", user.name - assert_equal "david@37signals.com", user.email_address - assert_equal "admin", user.role - end + assert_equal 2, User.count + + system = User.find_by(role: "system") + assert system + + admin = User.find_by(role: "admin") + assert_equal "David", admin.name + assert_equal "david@37signals.com", admin.email_address + assert_equal "admin", admin.role end end end