feat: Add manual payout system for countries without Stripe Global Payouts

This commit is contained in:
kbe
2025-09-17 08:35:20 +02:00
parent 3c1e17c2af
commit c74140c431
12 changed files with 375 additions and 28 deletions

View File

@@ -41,6 +41,26 @@ class Admin::PayoutsControllerTest < ActionDispatch::IntegrationTest
assert_equal :failed, @payout.reload.status
end
test "mark_as_manually_processed updates payout status" do
sign_in @admin_user
@payout.update(status: :pending)
post mark_as_manually_processed_admin_payout_url(@payout)
assert_redirected_to admin_payouts_path
assert_flash :notice, /marked as manually processed/
assert @payout.reload.completed?
assert @payout.manual_payout?
end
test "mark_as_manually_processed fails for completed payout" do
sign_in @admin_user
@payout.update(status: :completed)
post mark_as_manually_processed_admin_payout_url(@payout)
assert_redirected_to admin_payouts_path
assert_flash :alert, /Cannot mark this payout as manually processed/
end
test "requires admin authentication" do
patch admin_payout_url(@payout)
assert_redirected_to new_user_session_path