diff --git a/app/views/transactions/categorizes/_entry_row.html.erb b/app/views/transactions/categorizes/_entry_row.html.erb index daba95b7f..16180bdc3 100644 --- a/app/views/transactions/categorizes/_entry_row.html.erb +++ b/app/views/transactions/categorizes/_entry_row.html.erb @@ -6,7 +6,7 @@ aria-label="<%= t("transactions.categorizes.entry_row.include_checkbox", name: entry.name) %>" data-action="change->categorize#uncheckRule"> <%= entry.name %> - <%= l(entry.date, format: :short) %> + <%= format_date(entry.date) %> "> <%= format_money(entry.amount_money.abs) %> diff --git a/test/controllers/transactions/categorizes_controller_test.rb b/test/controllers/transactions/categorizes_controller_test.rb index a3628543e..1e74d8bbb 100644 --- a/test/controllers/transactions/categorizes_controller_test.rb +++ b/test/controllers/transactions/categorizes_controller_test.rb @@ -26,6 +26,19 @@ class Transactions::CategorizesControllerTest < ActionDispatch::IntegrationTest assert_response :success end + test "show renders full dates so multi-year lists are unambiguous" do + create_transaction(account: @account, name: "Starbucks", date: Date.new(2024, 7, 8)) + + get transactions_categorize_url + + assert_response :success + # format_date uses the family's date_format preference, every variant of + # which includes the year; the previous :short format ("%b %d") did not, + # making rows ambiguous when the uncategorized list spans years. + expected = Date.new(2024, 7, 8).strftime(@family.date_format) + assert_match expected, response.body + end + test "show renders the first group at position 0" do 2.times { create_transaction(account: @account, name: "Netflix") } 3.times { create_transaction(account: @account, name: "Starbucks") }