Files
KanbanGit/tests/Feature/Models/TicketWorklogEntryTest.php
2026-04-15 09:56:53 +02:00

54 lines
1.6 KiB
PHP

<?php
namespace Tests\Feature\Models;
use App\Enums\TicketWorklogEntryType;
use App\Models\TicketWorklogEntry;
use Database\Seeders\BoardColumnSeeder;
use Database\Seeders\ProjectSeeder;
use Database\Seeders\ProjectTicketMetadataSeeder;
use Database\Seeders\TicketSeeder;
use Database\Seeders\TicketWorklogEntrySeeder;
use Database\Seeders\UserSeeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class TicketWorklogEntryTest extends TestCase
{
use RefreshDatabase;
/**
* Ensure the worklog factory creates related tickets and actors.
*/
public function test_ticket_worklog_entry_factory_creates_related_models(): void
{
$entry = TicketWorklogEntry::factory()->create();
$this->assertNotNull($entry->ticket);
$this->assertNotNull($entry->actor);
$this->assertSame(TicketWorklogEntryType::StatusChanged, $entry->entry_type);
}
/**
* Ensure the worklog seeder creates an initial entry for each seeded ticket.
*/
public function test_ticket_worklog_entry_seeder_creates_entries_for_seeded_tickets(): void
{
$this->seed([
UserSeeder::class,
ProjectSeeder::class,
BoardColumnSeeder::class,
ProjectTicketMetadataSeeder::class,
TicketSeeder::class,
TicketWorklogEntrySeeder::class,
]);
$this->assertDatabaseHas('ticket_worklog_entries', [
'entry_type' => 'created',
'summary' => 'Ticket was created in Backlog.',
]);
$this->assertSame(6, TicketWorklogEntry::query()->count());
}
}