- Create TicketValiditySchemaTest to verify database schema for ticket validity. - Update CatalogModelsTest to include tests for event date attributes and selection options. - Introduce EventDateTextFormatterTest for formatting event dates in Spanish. - Refactor EventModelsTest to include validity time relationships. - Add SaleDetailResourceTest to ensure correct serialization of purchase items. - Enhance TicketTest with validity time checks and status management. - Implement ValidityTimeResourceTest to validate resource output for different validity types. - Add ValidityTimeTest to verify casting and validity checks for validity time types.
27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# Dominio Notification
|
|
|
|
## Propósito
|
|
|
|
Orquesta notificaciones de negocio por correo a partir de eventos de otros dominios.
|
|
|
|
## Eventos atendidos
|
|
|
|
- `UserRegistered`: dispara el correo de bienvenida.
|
|
- `PasswordResetRequested`: envía el código de recuperación si el intento sigue pendiente.
|
|
- `PurchasePaid`: envía la confirmación de pago.
|
|
- `TicketsAvailable`: informa y entrega la disponibilidad de tickets.
|
|
|
|
## Componentes
|
|
|
|
Los listeners `SendWelcomeEmail`, `SendPasswordResetEmail`, `SendPurchasePaidEmail` y `SendTicketsAvailableEmail` delegan en `NotificationMailService`. Este servicio carga el contexto necesario, renderiza las vistas y envía mediante `Integration/MailService`.
|
|
|
|
## API y dependencias
|
|
|
|
No expone rutas HTTP. Consume datos de `Auth`, `Tenant`, `Purchase` y `Ticket`, y delega la entrega al dominio `Integration`.
|
|
|
|
## Consideraciones
|
|
|
|
- Los listeners reciben identificadores y vuelven a cargar los modelos, evitando transportar entidades obsoletas.
|
|
- La recuperación no se envía si el intento dejó de estar pendiente.
|
|
- Los handlers deben permanecer idempotentes o tolerantes a reintentos de cola.
|