mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 20:15:22 +02:00
Basic Portfolio Views (#1000)
* Add holdings tab to account view * Basic portfolio UI * Cleanup * Handle missing holding data * Remove synced at (implemented in separate pr) * translations * Tweak post sync streams * Remove stale methods from merge conflict
This commit is contained in:
parent
ef4be7948a
commit
7c2091b343
37 changed files with 582 additions and 86 deletions
|
@ -28,12 +28,19 @@ module Account::EntriesTestHelper
|
|||
Account::Entry.create! entry_defaults.merge(attributes)
|
||||
end
|
||||
|
||||
def create_trade(account:, security:, qty:, price:, date:)
|
||||
def create_trade(security, account:, qty:, date:, price: nil)
|
||||
trade_price = price || Security::Price.find_by!(isin: security.isin, date: date).price
|
||||
|
||||
trade = Account::Trade.new \
|
||||
qty: qty,
|
||||
security: security,
|
||||
price: trade_price
|
||||
|
||||
account.entries.create! \
|
||||
date: date,
|
||||
amount: qty * price,
|
||||
currency: "USD",
|
||||
name: "Trade",
|
||||
entryable: Account::Trade.new(qty: qty, price: price, security: security)
|
||||
date: date,
|
||||
amount: qty * trade_price,
|
||||
currency: "USD",
|
||||
entryable: trade
|
||||
end
|
||||
end
|
||||
|
|
16
test/support/securities_test_helper.rb
Normal file
16
test/support/securities_test_helper.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
module SecuritiesTestHelper
|
||||
def create_security(symbol, prices:)
|
||||
isin_codes = {
|
||||
"AMZN" => "US0231351067",
|
||||
"NVDA" => "US67066G1040"
|
||||
}
|
||||
|
||||
isin = isin_codes[symbol]
|
||||
|
||||
prices.each do |price|
|
||||
Security::Price.create! isin: isin, date: price[:date], price: price[:price]
|
||||
end
|
||||
|
||||
Security.create! isin: isin, symbol: symbol
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue