- 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.
1011 B
1011 B
Dominio Logging
Propósito
Registra cambios relevantes de valores en modelos de negocio, indicando tenant, atributo, valor anterior/nuevo, fecha y actor.
Componentes
Models/ValueChange.php: entrada persistida del historial, relacionada polimórficamente con el objeto modificado.Models/Concerns/LogsValueChanges.php: trait reutilizable que escucha actualizaciones del modelo.Enums/ValueChangeActorType.php: distingue cambios realizados por usuario o por el sistema.
Uso
Un modelo consumidor debe:
- Usar el trait
LogsValueChanges. - Declarar la propiedad
loggedAttributescon los atributos auditables. - Implementar
valueChangeTenantCode().
El trait solo registra atributos configurados que efectivamente cambiaron. Si existe un usuario autenticado lo asocia al cambio; en caso contrario marca al sistema como actor.
API y dependencias
No expone rutas HTTP. Purchase lo utiliza para auditar cambios de estado y Sale consulta esas modificaciones para reportes.