Files
fizzy/test/test_helpers/search_test_helper.rb
T
2025-11-21 09:15:19 +00:00

41 lines
1.3 KiB
Ruby

module SearchTestHelper
extend ActiveSupport::Concern
included do
self.use_transactional_tests = false
setup :setup_search_test
teardown :teardown_search_test
end
def setup_search_test
clear_search_records
Account.find_by(name: "Search Test")&.destroy
Identity.find_by(email_address: "test@example.com")&.destroy
@account = Account.create!(name: "Search Test", external_account_id: ActiveRecord::FixtureSet.identify("search_test"))
Current.account = @account
@identity = Identity.create!(email_address: "test@example.com")
@user = User.create!(name: "Test User", account: @account, identity: @identity)
@board = Board.create!(name: "Test Board", account: @account, creator: @user)
end
def teardown_search_test
clear_search_records
Account.find_by(name: "Search Test")&.destroy
Identity.find_by(email_address: "test@example.com")&.destroy
end
private
def clear_search_records
if ActiveRecord::Base.connection.adapter_name == "SQLite"
ActiveRecord::Base.connection.execute("DELETE FROM search_records")
ActiveRecord::Base.connection.execute("DELETE FROM search_records_fts")
else
Search::Record::Trilogy::SHARD_COUNT.times do |shard_id|
ActiveRecord::Base.connection.execute("DELETE FROM search_records_#{shard_id}")
end
end
end
end