Files
WMS/Modules/Helpdesk/Tests/Unit/TicketReferenceServiceTest.php
T
2026-06-23 11:05:48 +01:00

44 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace Modules\Helpdesk\Tests\Unit;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Modules\Helpdesk\Services\TicketReferenceService;
use Modules\Helpdesk\Tests\Concerns\BuildsHelpdeskFixtures;
use Tests\TestCase;
final class TicketReferenceServiceTest extends TestCase
{
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_it_generates_the_first_reference_for_the_current_year(): void
{
$reference = app(TicketReferenceService::class)->next();
self::assertSame('HD-'.now()->format('Y').'-00001', $reference);
}
public function test_it_generates_the_next_reference_after_existing_tickets(): void
{
$this->ticket(['reference' => 'HD-'.now()->format('Y').'-00041']);
$reference = app(TicketReferenceService::class)->next();
self::assertSame('HD-'.now()->format('Y').'-00042', $reference);
}
public function test_it_uses_the_highest_reference_suffix_instead_of_latest_database_id(): void
{
$year = now()->format('Y');
$this->ticket(['reference' => 'HD-'.$year.'-00042']);
$this->ticket(['reference' => 'HD-'.$year.'-00002']);
$reference = app(TicketReferenceService::class)->next();
self::assertSame('HD-'.$year.'-00043', $reference);
}
}