1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 05:09:38 +02:00

Format money for trade history in holdings drawer (#1961)
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled

* Format money for trade history in holdings drawer

* Fix broken tests

* Lint fix
This commit is contained in:
Zach Gollwitzer 2025-03-07 19:09:54 -05:00 committed by GitHub
parent 86bf47a32e
commit a3cd5f4f1d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 14 additions and 7 deletions

View file

@ -73,7 +73,7 @@
".trade_history_entry",
qty: trade_entry.account_trade.qty,
security: trade_entry.account_trade.security.ticker,
price: format_money(trade_entry.account_trade.price)
price: trade_entry.account_trade.price_money.format
) %></p>
</div>
</li>

View file

@ -21,8 +21,7 @@
[["Total value", "balance"], ["Holdings", "holdings_balance"], ["Cash", "cash_balance"]],
{ selected: chart_view },
class: "border border-secondary rounded-lg text-sm pr-7 cursor-pointer text-primary focus:outline-hidden focus:ring-0",
data: { "auto-submit-form-target": "auto" }
%>
data: { "auto-submit-form-target": "auto" } %>
<% end %>
<%= period_select form: form, selected: period %>

View file

@ -13,7 +13,7 @@ module Money::Formatting
local_option_overrides = locale_options(locale)
{
unit: currency.symbol,
unit: get_symbol,
precision: currency.default_precision,
delimiter: currency.delimiter,
separator: currency.separator,
@ -22,6 +22,14 @@ module Money::Formatting
end
private
def get_symbol
if currency.symbol == "$" && currency.iso_code != "USD"
[ currency.iso_code.first(2), currency.symbol ].join
else
currency.symbol
end
end
def locale_options(locale)
case [ currency.iso_code, locale.to_sym ]
when [ "EUR", :nl ], [ "EUR", :pt ]

View file

@ -33,7 +33,7 @@ class Security::PriceTest < ActiveSupport::TestCase
tomorrow = Date.current + 1.day
@provider.expects(:fetch_security_prices)
.with(ticker: security.ticker, mic_code: security.exchange_mic, start_date: tomorrow, end_date: tomorrow)
.with(ticker: security.ticker, mic_code: security.exchange_operating_mic, start_date: tomorrow, end_date: tomorrow)
.once
.returns(
OpenStruct.new(
@ -54,7 +54,7 @@ class Security::PriceTest < ActiveSupport::TestCase
Security::Price.delete_all # Clear any existing prices
@provider.expects(:fetch_security_prices)
.with(ticker: security.ticker, mic_code: security.exchange_mic, start_date: Date.current, end_date: Date.current)
.with(ticker: security.ticker, mic_code: security.exchange_operating_mic, start_date: Date.current, end_date: Date.current)
.once
.returns(OpenStruct.new(success?: false))
@ -91,7 +91,7 @@ class Security::PriceTest < ActiveSupport::TestCase
@provider.expects(:fetch_security_prices)
.with(ticker: security.ticker,
mic_code: security.exchange_mic,
mic_code: security.exchange_operating_mic,
start_date: 2.days.ago.to_date,
end_date: 2.days.ago.to_date)
.returns(OpenStruct.new(success?: true, prices: [ { date: 2.days.ago.to_date, price: missing_price, currency: "USD" } ]))