feat(ticket): implement ticket generation policies and validity time management
- Added `ticket_generation_policy` column to `catalog_items` table to manage ticket generation strategies. - Created `ticket_validity_times` table to allow multiple validity times per ticket. - Introduced `validity_time_id` column in `event_dates` table to associate event dates with validity times. - Established `ticket_validity_groups` and `ticket_validity_group_times` tables to group validity times for tickets. - Updated seeder to set default ticket generation policy for specific tenant. - Enhanced tests to cover new functionality, including ticket generation based on event dates and validity times. - Refactored ticket validity checks to accommodate multiple validity times in a group.
This commit is contained in:
@@ -5,7 +5,7 @@ namespace Tests\Unit\Ticket;
|
||||
use App\Domains\Catalog\Models\AttributeOption;
|
||||
use App\Domains\Catalog\Models\CatalogItem;
|
||||
use App\Domains\Ticket\Enums\ValidityTimeType;
|
||||
use App\Domains\Ticket\Models\Ticket;
|
||||
use App\Domains\Ticket\Models\TicketValidityGroup;
|
||||
use App\Domains\Ticket\Models\ValidityTime;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Tests\TestCase;
|
||||
@@ -26,7 +26,10 @@ class ValidityTimeTest extends TestCase
|
||||
$this->assertInstanceOf(Carbon::class, $validityTime->fixed_expires_at);
|
||||
$this->assertInstanceOf(CatalogItem::class, $validityTime->catalogItems()->getRelated());
|
||||
$this->assertInstanceOf(AttributeOption::class, $validityTime->attributeOptions()->getRelated());
|
||||
$this->assertInstanceOf(Ticket::class, $validityTime->tickets()->getRelated());
|
||||
$this->assertInstanceOf(
|
||||
TicketValidityGroup::class,
|
||||
$validityTime->ticketValidityGroups()->getRelated(),
|
||||
);
|
||||
}
|
||||
|
||||
public function test_it_exposes_supported_type_values(): void
|
||||
|
||||
Reference in New Issue
Block a user