51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Models;
|
|
|
|
use App\Models\TicketFieldValue;
|
|
use Database\Seeders\BoardColumnSeeder;
|
|
use Database\Seeders\ProjectSeeder;
|
|
use Database\Seeders\ProjectTicketMetadataSeeder;
|
|
use Database\Seeders\TicketFieldValueSeeder;
|
|
use Database\Seeders\TicketSeeder;
|
|
use Database\Seeders\UserSeeder;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\TestCase;
|
|
|
|
class TicketFieldValueTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
/**
|
|
* Ensure the field value factory creates a ticket and a compatible field definition.
|
|
*/
|
|
public function test_ticket_field_value_factory_creates_related_records(): void
|
|
{
|
|
$fieldValue = TicketFieldValue::factory()->create();
|
|
|
|
$this->assertNotNull($fieldValue->ticket);
|
|
$this->assertNotNull($fieldValue->ticketFieldDefinition);
|
|
}
|
|
|
|
/**
|
|
* Ensure the field value seeder generates values for seeded tickets and fields.
|
|
*/
|
|
public function test_ticket_field_value_seeder_creates_values_for_seeded_tickets(): void
|
|
{
|
|
$this->seed([
|
|
UserSeeder::class,
|
|
ProjectSeeder::class,
|
|
BoardColumnSeeder::class,
|
|
ProjectTicketMetadataSeeder::class,
|
|
TicketSeeder::class,
|
|
TicketFieldValueSeeder::class,
|
|
]);
|
|
|
|
$this->assertDatabaseHas('ticket_field_values', [
|
|
'value_number' => 3.0,
|
|
]);
|
|
|
|
$this->assertSame(12, TicketFieldValue::query()->count());
|
|
}
|
|
}
|