34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
require "test_helper"
|
|
|
|
class Admin::PayoutsControllerTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
@admin_user = User.create!(email: "admin@example.com", password: "password123", password_confirmation: "password123", is_professionnal: true, stripe_customer_id: "cus_test_admin", onboarding_completed: true)
|
|
@payout = payouts(:one)
|
|
end
|
|
|
|
test "requires admin authentication" do
|
|
get admin_payouts_url
|
|
assert_redirected_to new_user_session_path
|
|
end
|
|
|
|
test "approve payout requires admin authentication" do
|
|
post approve_admin_payout_url(@payout)
|
|
assert_redirected_to new_user_session_path
|
|
end
|
|
|
|
test "approve payout works for admin users" do
|
|
sign_in @admin_user
|
|
@payout.update(status: :pending)
|
|
|
|
# Ensure the payout user has complete banking info
|
|
@payout.user.update!(
|
|
iban: "FR1420041010050500013M02606",
|
|
bank_name: "Test Bank",
|
|
account_holder_name: "Test User"
|
|
)
|
|
|
|
post approve_admin_payout_url(@payout)
|
|
assert_redirected_to admin_payout_path(@payout)
|
|
assert_match /Payout approved successfully/, flash[:notice]
|
|
end
|
|
end |