mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
36 lines
1.1 KiB
Ruby
36 lines
1.1 KiB
Ruby
|
require "test_helper"
|
||
|
|
||
|
class Transactions::BulkUpdatesControllerTest < ActionDispatch::IntegrationTest
|
||
|
setup do
|
||
|
sign_in @user = users(:family_admin)
|
||
|
end
|
||
|
|
||
|
test "bulk update" do
|
||
|
transactions = @user.family.entries.transactions
|
||
|
|
||
|
assert_difference [ "Entry.count", "Transaction.count" ], 0 do
|
||
|
post transactions_bulk_update_url, params: {
|
||
|
bulk_update: {
|
||
|
entry_ids: transactions.map(&:id),
|
||
|
date: 1.day.ago.to_date,
|
||
|
category_id: Category.second.id,
|
||
|
merchant_id: Merchant.second.id,
|
||
|
tag_ids: [ Tag.first.id, Tag.second.id ],
|
||
|
notes: "Updated note"
|
||
|
}
|
||
|
}
|
||
|
end
|
||
|
|
||
|
assert_redirected_to transactions_url
|
||
|
assert_equal "#{transactions.count} transactions updated", flash[:notice]
|
||
|
|
||
|
transactions.reload.each do |transaction|
|
||
|
assert_equal 1.day.ago.to_date, transaction.date
|
||
|
assert_equal Category.second, transaction.transaction.category
|
||
|
assert_equal Merchant.second, transaction.transaction.merchant
|
||
|
assert_equal "Updated note", transaction.notes
|
||
|
assert_equal [ Tag.first.id, Tag.second.id ], transaction.entryable.tag_ids.sort
|
||
|
end
|
||
|
end
|
||
|
end
|