Files
sure/test/models/transaction/activity_security_preloader_test.rb
Gian-Reto Tarnutzer ce5d7dd736 Add Interactive Brokers Provider (#1722)
* Display multi-currency holdings correctly

* Implement IBKR provider

* Fix: Use historical exchange rate for historical prices

* Add brokerage exchange rate for trades

* Sync historical balances from IBKR

* Add logos in activity history

* Fix privacy mode blur in account view

* Improve IBKR XML Flex report parser errors
2026-05-12 23:45:19 +02:00

29 lines
1.1 KiB
Ruby

require "test_helper"
class Transaction::ActivitySecurityPreloaderTest < ActiveSupport::TestCase
test "preloads activity securities for transactions" do
transaction = Transaction.new(extra: { "security_id" => securities(:aapl).id })
Transaction::ActivitySecurityPreloader.new([ transaction ]).preload
assert_equal securities(:aapl), transaction.activity_security
end
test "preloads activity securities for entry collections" do
transaction = Transaction.new(extra: { "security_id" => securities(:aapl).id })
entry = Entry.new(account: accounts(:depository), entryable: transaction, date: Date.current, name: "Dividend", amount: 10, currency: "USD")
Transaction::ActivitySecurityPreloader.new([ entry ]).preload
assert_equal securities(:aapl), transaction.activity_security
end
test "sets nil when the referenced security cannot be found" do
transaction = Transaction.new(extra: { "security_id" => SecureRandom.uuid })
Transaction::ActivitySecurityPreloader.new([ transaction ]).preload
assert_nil transaction.activity_security
end
end