/
evo
/
docviz
Обзор
Документация
Войти
/
evo
/
docviz
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
tests/Feature/MediaTest.php
56 строк
2 KB
evo
UI updates, deployment prep, and code highlighting fix
08 фев 2026, 12:17
Верифицирован
08 фев 2026, 12:17
2c0897e
Код
Авторство
О чём код?
<?php namespace Tests\Feature; use App\Models\DocCategory; use App\Models\Media; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\Storage; use Tests\TestCase; class MediaTest extends TestCase { use RefreshDatabase; public function test_media_index_requires_editor_role(): void { $user = User::factory()->user()->create(); $response = $this->actingAs($user)->get(route('media.index')); $response->assertStatus(403); } public function test_editor_can_access_media_index(): void { $user = User::factory()->editor()->create(); $response = $this->actingAs($user)->get(route('media.index')); $response->assertStatus(200); } public function test_editor_can_upload_media(): void { Storage::fake('public'); $user = User::factory()->editor()->create(); $category = DocCategory::factory()->create(); $file = UploadedFile::fake()->create('test.pdf', 100, 'application/pdf'); $response = $this->actingAs($user)->post(route('media.store'), [ 'file' => $file, 'doc_category_id' => $category->id, ]); $response->assertRedirect(); $this->assertDatabaseHas('media', ['user_id' => $user->id]); } public function test_editor_can_destroy_own_media(): void { $user = User::factory()->editor()->create(); $media = Media::factory()->create(['user_id' => $user->id]); $response = $this->actingAs($user)->delete(route('media.destroy', $media)); $response->assertRedirect(); $this->assertDatabaseMissing('media', ['id' => $media->id]); } }