101, 'nombre' => 'Club A']); $clubB = Club::create(['id_club' => 102, 'nombre' => 'Club B']); $jugador = Jugador::create([ 'id_jugador' => 'T-PASE-1', 'documento' => '99000111', 'nombre' => 'Pedro', 'apellido' => 'Pase', 'id_club_actual' => $clubA->id_club, 'id_club_origen' => $clubA->id_club, 'activo' => true ]); // 2. Crear solicitud de pase $pase = Pase::create([ 'id_jugador' => $jugador->id_jugador, 'id_club_origen' => $clubA->id_club, 'id_club_destino' => $clubB->id_club, 'estado' => 'Pendiente' ]); // 3. Loguear como SuperAdmin $this->withSession([ 'admin_role' => 1, 'admin_logged_in' => true ]); // 4. Ejecutar la aprobación $response = $this->put(route('admin.pases.aprobar', $pase->id_pase)); // 5. Verificar redirección y base de datos $response->assertRedirect(route('admin.pases.index')); // El pase debe estar aprobado $this->assertDatabaseHas('pases', [ 'id_jugador' => $jugador->id_jugador, 'estado' => 'Aprobado' ]); // El jugador debe haber cambiado de club actual $jugador->refresh(); $this->assertEquals($clubB->id_club, $jugador->id_club_actual); $this->assertEquals($clubA->id_club, $jugador->id_club_origen); } }