feat(ticket): implement ticket generation on purchase payment and add related tests

This commit is contained in:
2026-07-21 11:23:17 -03:00
parent a928a2e848
commit c0978033c1
6 changed files with 186 additions and 3 deletions

View File

@@ -3,6 +3,8 @@
namespace App\Domains\Ticket\Exceptions;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Models\PurchaseItem;
use RuntimeException;
class TicketGenerationException extends RuntimeException
@@ -26,4 +28,14 @@ class TicketGenerationException extends RuntimeException
{
return new self("El producto {$catalogItem->id} alcanzó su fecha máxima de uso.");
}
public static function purchaseWithoutUser(Purchase $purchase): self
{
return new self("La compra {$purchase->id} no tiene un usuario asociado.");
}
public static function catalogItemNotFound(PurchaseItem $purchaseItem): self
{
return new self("No se encontró el producto de la línea de compra {$purchaseItem->id}.");
}
}