57 lines
1.3 KiB
PHP
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());
|
|
}
|
|
}
|