diff --git a/app/Domains/Purchase/Services/Checkout/StartCheckoutService.php b/app/Domains/Purchase/Services/Checkout/StartCheckoutService.php index 6c3c7a3..60a7ccb 100644 --- a/app/Domains/Purchase/Services/Checkout/StartCheckoutService.php +++ b/app/Domains/Purchase/Services/Checkout/StartCheckoutService.php @@ -7,8 +7,8 @@ use App\Domains\Cart\Models\CartItem; use App\Domains\Catalog\Models\CatalogItem; use App\Domains\Catalog\Models\Variant; use App\Domains\Catalog\Services\CatalogInventoryService; -use App\Domains\Purchase\Models\Purchase; use App\Domains\Purchase\Exceptions\InsufficientStockException; +use App\Domains\Purchase\Models\Purchase; use App\Domains\Purchase\Services\UserPurchaseLimitService; use App\Domains\Tenant\Models\Tenant; use Illuminate\Support\Collection; diff --git a/bootstrap/app.php b/bootstrap/app.php index 8a1b5e6..c4bafaf 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,8 +1,8 @@ 1, + 'catalog_item_id' => 10, + 'variant_id' => 102, + 'requested_quantity' => 1, + 'available_quantity' => 0, + 'message' => 'El asiento A2 ya no está disponible.', + ], + [ + 'index' => 3, + 'catalog_item_id' => 10, + 'variant_id' => 104, + 'requested_quantity' => 1, + 'available_quantity' => 0, + 'message' => 'El asiento B4 ya no está disponible.', + ], + ]); + + $this->assertSame( + 'El asiento A2 ya no está disponible. El asiento B4 ya no está disponible.', + $exception->getMessage(), + ); + $this->assertSame([ + 'direct_items.1.cantidad' => ['El asiento A2 ya no está disponible.'], + 'direct_items.3.cantidad' => ['El asiento B4 ya no está disponible.'], + ], $exception->errors()); + $this->assertSame([102, 104], collect($exception->unavailableItems)->pluck('variant_id')->all()); + } + public function test_it_builds_a_localized_seat_message_from_the_variant_selection(): void { [$catalogItem, $variant] = $this->seatSelection();