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 "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