fix(ticket): temporarily disable maximum use date validation in ticket generation

This commit is contained in:
2026-07-27 17:01:08 -03:00
parent aa4f3303fc
commit 5107d858cc
3 changed files with 73 additions and 27 deletions

View File

@@ -84,14 +84,14 @@ class TicketGeneratorServiceTest extends TestCase
$this->service->generate($item->fresh(), $this->user);
}
public function test_it_rejects_an_item_when_its_maximum_use_date_was_reached(): void
public function test_it_generates_a_ticket_when_its_maximum_use_date_was_reached(): void
{
$item = $this->createTicketableItem('expired', maximumUseDate: now());
$this->expectException(TicketGenerationException::class);
$this->expectExceptionMessage('alcanzó su fecha máxima de uso');
$tickets = $this->service->generate($item, $this->user);
$this->service->generate($item, $this->user);
$this->assertCount(1, $tickets);
$this->assertTrue($tickets->first()->expires_at->equalTo($item->maximum_use_date));
}
public function test_variant_dates_override_and_inherit_catalog_item_dates(): void
@@ -228,18 +228,18 @@ class TicketGeneratorServiceTest extends TestCase
Event::assertNotDispatched(TicketsAvailable::class);
}
public function test_paid_status_is_rolled_back_when_ticket_generation_fails(): void
public function test_paid_status_is_confirmed_when_ticket_maximum_use_date_was_reached(): void
{
$item = $this->createTicketableItem('expired-paid-ticket', maximumUseDate: now());
$purchase = $this->createPurchase($item, 1);
try {
$purchase->markAsPaid();
$this->fail('La generación debería haber fallado.');
} catch (TicketGenerationException) {
$this->assertSame(Purchase::STATUS_PENDING_PAYMENT, $purchase->fresh()->status);
$this->assertDatabaseCount('tickets', 0);
}
$purchase->markAsPaid();
$this->assertSame(Purchase::STATUS_PAID, $purchase->fresh()->status);
$this->assertDatabaseHas('tickets', [
'source_catalog_item_id' => $item->id,
'user_id' => $purchase->user_id,
]);
}
private function createTicketableItem(