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