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); } }