feat(purchase): add checkout expiration settings and reservation status to purchase items
- Introduced a new configuration file for purchase settings, including checkout and payment expiration times. - Added a migration to include a `reservation_status` column in the `compra_items` table, defaulting to 'active' and updating existing records based on purchase status. - Created a migration to add an `expires_at` timestamp to the `compras` table, updating it for existing records based on their status. - Scoped unique indexes in the `carritos` table to only active carts, adding virtual columns for active user and guest tokens. - Implemented a console command to expire overdue purchases and release stock reservations, scheduled to run every minute. - Added tests for Google token exchange and login functionality, ensuring proper cart handling and user authentication. - Updated purchase-related tests to reflect changes in item handling and customer data validation.
This commit is contained in:
@@ -86,12 +86,10 @@ class PurchaseCatalogItemTest extends TestCase
|
||||
]);
|
||||
$purchaseItem = $purchase->items()->with('imageAttachment')->firstOrFail();
|
||||
$this->assertNotNull($purchaseItem->imageAttachment);
|
||||
$this->assertNotSame($productImage->id, $purchaseItem->image_attachment_id);
|
||||
$this->assertSame($productImage->id, $purchaseItem->image_attachment_id);
|
||||
$this->assertSame('original-image', Storage::disk('s3')->get($purchaseItem->imageAttachment->path));
|
||||
$this->assertStringStartsWith(
|
||||
"purchase/{$purchase->id}/",
|
||||
$purchaseItem->imageAttachment->path,
|
||||
);
|
||||
$this->assertSame($productImage->path, $purchaseItem->imageAttachment->path);
|
||||
$this->assertDatabaseCount('attachments', 3);
|
||||
$catalogItem->update([
|
||||
'nombre' => 'Changed catalog item',
|
||||
'descripcion' => 'Changed description',
|
||||
|
||||
Reference in New Issue
Block a user