# Guía de QA: Configuración Automática de Usuarios de Prueba (MercadoLibre)

## Resumen

Se ha implementado un nuevo comando de Artisan para automatizar la creación de usuarios de prueba ("Test Users") en el entorno de Sandbox de MercadoLibre y la obtención de sus Access Tokens.

Este comando unifica:

1. La creación del usuario de prueba.
2. La generación de la URL de autorización (PKCE).
3. El intercambio del código de autorización por el token de acceso final.

---

## Archivos Modificados / Creados

- `app/Console/Commands/AutoSetupMercadoLibreTest.php`: Comando principal que orquesta todo el flujo.
- `.env`: Se requiere configuración previa de credenciales de aplicación.

---

## Instrucciones de Uso (Paso a Paso)

### 0. Prerrequisitos

Asegúrate de tener configuradas las credenciales de tu aplicación de MercadoLibre en el archivo `.env`:

```env
MERCADOLIBRE_CLIENT_ID=tu_client_id
MERCADOLIBRE_CLIENT_SECRET=tu_client_secret
MERCADOLIBRE_REDIRECT_URI=https://tu-dominio.com/
```

### 1. Ejecutar el Comando

En la terminal del proyecto, ejecuta:

```bash
php artisan mercadolibre:auto-setup-test
```

### 2. Flujo Interactivo

El comando te guiará a través de los siguientes pasos:

#### Paso A: Token de Desarrollador

- El sistema solicitará autorizar con tu cuenta **REAL** de desarrollador para obtener permisos de creación.
- Copia la URL que muestra la terminal, autoriza con tu cuenta principal y pega el código resultante.
- **Resultado**: El sistema obtiene un token temporal de desarrollador.

#### Paso B: Creación del Usuario de Prueba

- Automáticamente, el script usará el token anterior para crear un nuevo usuario de prueba en el sitio `MLA` (Argentina).
- **IMPORTANTE**: La terminal mostrará el `Nickname` y `Password` del nuevo usuario. **Guarda estos datos**, no se volverán a mostrar.

#### Paso C: Obtención del Token del Usuario de Prueba

- El script generará una nueva URL de autorización exclusiva para este usuario de prueba.
- **ACCIÓN REQUERIDA**:
    1. Abre una ventana de **INCÓGNITO** en tu navegador (para no cerrar sesión de tu cuenta real).
    2. Pega la URL proporcionada.
    3. Inicia sesión con el **Usuario de Prueba** (Nickname y Password del paso B).
    4. Autoriza la aplicación.
    5. Serás redirigido a tu `REDIRECT_URI`. Copia la URL completa o el parámetro `code`.
    6. Pega ese código en la terminal.

### 3. Resultado Final

Si todo es correcto, la terminal mostrará una tabla con:

- **Access Token** (del usuario de prueba)
- **Refresh Token**
- **User ID**
- **Expires In**

Estos son los datos que debes usar para probar la integración (publicar ítems, probar preguntas, etc.) simulando ser un usuario externo.

---

## Notas Técnicas

- **Por qué el paso C es manual?**: MercadoLibre requiere intervención humana (y a veces Captchas) para el inicio de sesión y consentimiento de OAuth. No es posible automatizarlo completamente vía API.
- **Seguridad**: Los tokens de prueba expiran en 6 horas. Usa el Refresh Token si necesitas renovarlo.
