mirror of
https://github.com/we-promise/sure.git
synced 2026-04-26 15:34:13 +00:00
Agent-Logs-Url: https://github.com/we-promise/sure/sessions/e802e01f-079e-4322-ba03-b222ab5d4b84 Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
require "test_helper"
|
|
|
|
class Category::DeletionsControllerTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
sign_in users(:family_admin)
|
|
@category = categories(:food_and_drink)
|
|
tailwind_build = Rails.root.join("app/assets/builds/tailwind.css")
|
|
FileUtils.mkdir_p(tailwind_build.dirname)
|
|
File.write(tailwind_build, "/* test */") unless tailwind_build.exist?
|
|
end
|
|
|
|
test "new" do
|
|
get new_category_deletion_url(@category)
|
|
assert_response :success
|
|
assert_select "turbo-frame#modal"
|
|
assert_select "turbo-frame#modal button span.min-w-0.truncate", text: /Delete "Food & Drink" and leave uncategorized/
|
|
end
|
|
|
|
test "create with replacement" do
|
|
replacement_category = categories(:income)
|
|
|
|
assert_not_empty @category.transactions
|
|
|
|
assert_difference "Category.count", -1 do
|
|
assert_difference "replacement_category.transactions.count", @category.transactions.count do
|
|
post category_deletions_url(@category),
|
|
params: { replacement_category_id: replacement_category.id }
|
|
end
|
|
end
|
|
|
|
assert_redirected_to transactions_url
|
|
end
|
|
|
|
test "create without replacement" do
|
|
assert_not_empty @category.transactions
|
|
|
|
assert_difference "Category.count", -1 do
|
|
assert_difference "Transaction.where(category: nil).count", @category.transactions.count do
|
|
post category_deletions_url(@category)
|
|
end
|
|
end
|
|
|
|
assert_redirected_to transactions_url
|
|
end
|
|
end
|