feat(ticket): implement LoadTestTicketDatasetService for generating load test datasets
- Added LoadTestTicketDatasetService to prepare disposable scanner tickets and generate a Postman importable dataset.
- Introduced console command `load-test🎟️prepare` for executing the dataset preparation.
- Updated README documentation with usage instructions for the load test command.
- Enhanced Postman collection generation script to include new parameters.
- Created tests for the load test command to ensure proper functionality and validation.
This commit is contained in:
@@ -23,6 +23,33 @@ vigente, vencido o usado, y resuelve sus fechas efectivas de inicio y fin sin pe
|
||||
3. `TicketGeneratorService` crea los tickets requeridos según ítems, cantidades y vigencia.
|
||||
4. `Notification` envía la confirmación de compra después de la generación y adjunta los tickets cuando existen.
|
||||
|
||||
## Datos descartables para pruebas de carga
|
||||
|
||||
En ambientes `local`, `testing`, `staging`, `homo` u `homologation`, el comando siguiente crea tickets
|
||||
válidos, identidades scanner con tokens Sanctum y un dataset JSON importable por Postman:
|
||||
|
||||
```bash
|
||||
php artisan load-test:tickets:prepare loadtest-evento \
|
||||
--tickets=40000 \
|
||||
--scanners=100 \
|
||||
--owners=1000 \
|
||||
--catalog-item=123 \
|
||||
--run=evento-001
|
||||
```
|
||||
|
||||
El tenant debe existir, ser exclusivo para carga y comenzar con `loadtest-`. Si no se indica
|
||||
`--catalog-item`, se usa el primer producto estándar del tenant con tickets habilitados. `--variant`
|
||||
es opcional; al indicarlo, su configuración de vigencia debe estar activa y ser resoluble. Sin variante,
|
||||
los tickets tienen vigencia irrestricta.
|
||||
|
||||
El archivo se escribe por defecto en `storage/app/private/load-tests/` y contiene tokens secretos, por
|
||||
lo que no debe versionarse. Para limpiar el tenant después de la ejecución:
|
||||
|
||||
```bash
|
||||
php artisan tenants:reset-transactions loadtest-evento --dry-run
|
||||
php artisan tenants:reset-transactions loadtest-evento
|
||||
```
|
||||
|
||||
## Endpoints
|
||||
|
||||
Bajo `/tenants/{tenant:codigo}`, protegidos por `auth:sanctum`:
|
||||
|
||||
Reference in New Issue
Block a user