From 4e2f56f4c0b553c88a493a05c0f141cd3ac352d0 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Sun, 2 Nov 2025 09:44:50 +0100 Subject: [PATCH] Extract concern, add tests --- app/models/account.rb | 12 +----------- app/models/account/seedeable.rb | 13 +++++++++++++ app/models/account/seeder.rb | 2 -- test/models/account/seedeable_test.rb | 23 +++++++++++++++++++++++ 4 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 app/models/account/seedeable.rb create mode 100644 test/models/account/seedeable_test.rb diff --git a/app/models/account.rb b/app/models/account.rb index edd75655c..e32f0bcdb 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -1,5 +1,5 @@ class Account < ApplicationRecord - include Entropic + include Entropic, Seedeable has_many_attached :uploads @@ -25,16 +25,6 @@ class Account < ApplicationRecord "/#{tenant}" end - def setup_basic_template - user = User.first - - Collection.create!(name: "Cards", creator: user, all_access: true) - end - - def setup_customer_template - Account::Seeder.new(self, User.first).seed - end - private def create_join_code Account::JoinCode.create! diff --git a/app/models/account/seedeable.rb b/app/models/account/seedeable.rb new file mode 100644 index 000000000..a4096c28e --- /dev/null +++ b/app/models/account/seedeable.rb @@ -0,0 +1,13 @@ +module Account::Seedeable + extend ActiveSupport::Concern + + def setup_basic_template + user = User.first + + Collection.create!(name: "Cards", creator: user, all_access: true) + end + + def setup_customer_template + Account::Seeder.new(self, User.active.first).seed + end +end diff --git a/app/models/account/seeder.rb b/app/models/account/seeder.rb index f9f06cb98..28e977c29 100644 --- a/app/models/account/seeder.rb +++ b/app/models/account/seeder.rb @@ -4,8 +4,6 @@ class Account::Seeder def initialize(account, creator) @account = account @creator = creator - - puts creator.inspect end def seed diff --git a/test/models/account/seedeable_test.rb b/test/models/account/seedeable_test.rb new file mode 100644 index 000000000..432482876 --- /dev/null +++ b/test/models/account/seedeable_test.rb @@ -0,0 +1,23 @@ +require "test_helper" + +class Account::SedeableTest < ActiveSupport::TestCase + setup do + @account = Account.sole + end + + test "setup_basic_template changes collection count" do + assert_changes -> { Collection.count } do + @account.setup_basic_template + end + end + + test "setup_customer_template changes collections, cards, and comments count" do + assert_changes -> { Collection.count } do + assert_changes -> { Card.count } do + assert_changes -> { Comment.count } do + @account.setup_customer_template + end + end + end + end +end