mirror of
https://github.com/we-promise/sure.git
synced 2026-05-06 12:24:05 +00:00
- Deleted the `InvestmentActivityDetector` and associated tests. - Removed rake tasks for backfilling and clearing investment activity labels. - Simplified transaction processing in `SimplefinEntry::Processor` by removing inferred activity label logic. - Added new rule `SetInvestmentActivityLabel` for setting labels using rules. - Updated `Rule::Registry::TransactionResource` to include the new rule executor.
48 lines
1.7 KiB
Ruby
48 lines
1.7 KiB
Ruby
require "test_helper"
|
|
|
|
class TransactionTest < ActiveSupport::TestCase
|
|
test "pending? is true when extra.simplefin.pending is truthy" do
|
|
transaction = Transaction.new(extra: { "simplefin" => { "pending" => true } })
|
|
|
|
assert transaction.pending?
|
|
end
|
|
|
|
test "pending? is true when extra.plaid.pending is truthy" do
|
|
transaction = Transaction.new(extra: { "plaid" => { "pending" => "true" } })
|
|
|
|
assert transaction.pending?
|
|
end
|
|
|
|
test "pending? is false when no provider pending metadata is present" do
|
|
transaction = Transaction.new(extra: { "plaid" => { "pending" => false } })
|
|
|
|
assert_not transaction.pending?
|
|
end
|
|
|
|
test "investment_contribution is a valid kind" do
|
|
transaction = Transaction.new(kind: "investment_contribution")
|
|
|
|
assert_equal "investment_contribution", transaction.kind
|
|
assert transaction.investment_contribution?
|
|
end
|
|
|
|
test "all transaction kinds are valid" do
|
|
valid_kinds = %w[standard funds_movement cc_payment loan_payment one_time investment_contribution]
|
|
|
|
valid_kinds.each do |kind|
|
|
transaction = Transaction.new(kind: kind)
|
|
assert_equal kind, transaction.kind, "#{kind} should be a valid transaction kind"
|
|
end
|
|
end
|
|
|
|
test "ACTIVITY_LABELS contains all valid labels" do
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Buy"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Sell"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Sweep In"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Sweep Out"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Dividend"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Interest"
|
|
assert_includes Transaction::ACTIVITY_LABELS, "Fee"
|
|
end
|
|
end
|