53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Models;
|
|
|
|
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('status_changed', $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());
|
|
}
|
|
}
|