mirror of
https://github.com/we-promise/sure.git
synced 2026-05-24 21:14:56 +00:00
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
This commit is contained in:
committed by
GitHub
parent
3c4c32584a
commit
ce5d7dd736
28
test/models/transaction/activity_security_preloader_test.rb
Normal file
28
test/models/transaction/activity_security_preloader_test.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
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
|
||||
Reference in New Issue
Block a user