/
evo
/
docviz
Обзор
Документация
Войти
/
evo
/
docviz
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
tests/Unit/MediaModelTest.php
89 строк
3 KB
evo
Checkout for tests
08 фев 2026, 09:59
Верифицирован
08 фев 2026, 09:59
ccd7e85
Код
Авторство
О чём код?
<?php namespace Tests\Unit; use App\Models\DocCategory; use App\Models\Media; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Storage; use Tests\TestCase; class MediaModelTest extends TestCase { use RefreshDatabase; protected function setUp(): void { parent::setUp(); Storage::fake('local'); } public function test_media_fillable_attributes(): void { $fillable = (new Media())->getFillable(); $this->assertContains('doc_category_id', $fillable); $this->assertContains('user_id', $fillable); $this->assertContains('filename', $fillable); $this->assertContains('original_name', $fillable); $this->assertContains('mime_type', $fillable); $this->assertContains('size', $fillable); $this->assertContains('path', $fillable); $this->assertContains('type', $fillable); $this->assertContains('description', $fillable); } public function test_media_appends_url_attribute(): void { $appends = (new Media())->getAppends(); $this->assertContains('url', $appends); } public function test_media_belongs_to_user(): void { $user = User::factory()->create(); $media = Media::factory()->create(['user_id' => $user->id]); $this->assertInstanceOf(User::class, $media->user); $this->assertSame($user->id, $media->user->id); } public function test_media_belongs_to_category(): void { $category = DocCategory::factory()->create(); $media = Media::factory()->forCategory($category)->create(); $this->assertInstanceOf(DocCategory::class, $media->category); $this->assertSame($category->id, $media->category->id); } public function test_media_can_exist_without_category(): void { $media = Media::factory()->create(['doc_category_id' => null]); $this->assertNull($media->category); } public function test_media_url_attribute(): void { config(['filesystems.media_disk' => 'local']); $media = Media::factory()->create(['path' => 'media/test.jpg']); $url = $media->url; $this->assertStringContainsString('media/test.jpg', $url); } public function test_media_factory_creates_valid_model(): void { $media = Media::factory()->create(); $this->assertDatabaseHas('media', [ 'id' => $media->id, 'filename' => $media->filename, 'mime_type' => 'image/jpeg', 'type' => 'image', ]); } }