Files

57 lines
1.3 KiB
PHP

<?php
namespace Tests\Unit\Models;
use App\Features\Games\Models\Game;
use App\Features\Settings\Models\SaveFile;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;
class SaveFileTest extends TestCase
{
use RefreshDatabase;
#[Test]
public function it_belongs_to_a_user(): void
{
$saveFile = SaveFile::factory()->create();
$this->assertInstanceOf(User::class, $saveFile->user);
}
#[Test]
public function it_belongs_to_a_game(): void
{
$saveFile = SaveFile::factory()->create();
$this->assertInstanceOf(Game::class, $saveFile->game);
}
#[Test]
public function it_casts_last_synced_at_to_datetime(): void
{
$saveFile = SaveFile::factory()->create([
'last_synced_at' => '2024-01-15 10:30:00',
]);
$this->assertInstanceOf(\Illuminate\Support\Carbon::class, $saveFile->last_synced_at);
}
#[Test]
public function it_has_fillable_attributes(): void
{
$saveFile = new SaveFile();
$this->assertEquals([
'user_id',
'game_id',
'file_path',
'file_name',
'file_size',
'last_synced_at',
], $saveFile->getFillable());
}
}