mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 03:55:20 +02:00
Separate exclude and one-time transaction handling (#2400)
* Separate exclude and one-time transaction handling - Split transaction "exclude" and "one-time" toggles into separate controls in transaction detail view - Updated Transaction::Search to show excluded transactions with grayed-out styling instead of filtering them out - Modified IncomeStatement calculations to exclude both excluded and one_time transactions from totals - Added migration to convert existing excluded transactions to also be one_time for backward compatibility - Updated transaction list view to show asterisk for one_time transactions and gray out excluded ones - Added controller support for kind parameter in transaction updates 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix linting issues - Remove trailing whitespace from migration - Fix ERB formatting throughout templates 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c003e8c6ed
commit
63d8114b05
28 changed files with 147 additions and 115 deletions
|
@ -204,6 +204,20 @@ class IncomeStatementTest < ActiveSupport::TestCase
|
|||
assert_equal Money.new(900, @family.currency), totals.expense_money
|
||||
end
|
||||
|
||||
test "excludes excluded transactions from income statement calculations" do
|
||||
# Create an excluded transaction
|
||||
excluded_transaction_entry = create_transaction(account: @checking_account, amount: 250, category: @groceries_category)
|
||||
excluded_transaction_entry.update!(excluded: true)
|
||||
|
||||
income_statement = IncomeStatement.new(@family)
|
||||
totals = income_statement.totals
|
||||
|
||||
# Should exclude excluded transactions
|
||||
assert_equal 4, totals.transactions_count # Only original 4 transactions
|
||||
assert_equal Money.new(1000, @family.currency), totals.income_money
|
||||
assert_equal Money.new(900, @family.currency), totals.expense_money
|
||||
end
|
||||
|
||||
# NEW TESTS: Interval-Based Calculations
|
||||
test "different intervals return different statistical results with multi-period data" do
|
||||
# Clear existing transactions
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue