/
evo
/
docviz
Обзор
Документация
Войти
/
evo
/
docviz
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
tests/Feature/DocsTest.php
80 строк
3 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\DocPage; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; class DocsTest extends TestCase { use RefreshDatabase; public function test_public_docs_index_returns_200(): void { $response = $this->get(route('docs.index')); $response->assertStatus(200); } public function test_public_docs_category_returns_200(): void { $category = DocCategory::factory()->create(['slug' => 'test-category', 'is_published' => true]); DocPage::factory()->create(['category_id' => $category->id, 'slug' => 'first-page', 'is_published' => true]); $response = $this->get(route('docs.category', $category->slug)); $response->assertStatus(200); } public function test_public_docs_page_returns_200(): void { $category = DocCategory::factory()->create(['slug' => 'cat', 'is_published' => true]); $page = DocPage::factory()->create([ 'category_id' => $category->id, 'slug' => 'test-page', 'is_published' => true, ]); $response = $this->get(route('docs.page', [$category->slug, $page->slug])); $response->assertStatus(200); } public function test_docs_manage_requires_editor_role(): void { $user = User::factory()->user()->create(); $response = $this->actingAs($user)->get(route('docs.manage.index')); $response->assertStatus(403); } public function test_editor_can_access_docs_manage(): void { $user = User::factory()->editor()->create(); $response = $this->actingAs($user)->get(route('docs.manage.index')); $response->assertStatus(200); } public function test_editor_can_create_category(): void { $user = User::factory()->editor()->create(); $response = $this->actingAs($user)->post(route('docs.store-category'), [ 'name' => 'New Category', 'slug' => 'new-category', 'description' => 'Test description', 'is_published' => true, ]); $response->assertRedirect(route('docs.manage.index')); $this->assertDatabaseHas('doc_categories', ['slug' => 'new-category']); } public function test_editor_can_create_page(): void { $user = User::factory()->editor()->create(); $category = DocCategory::factory()->create(); $response = $this->actingAs($user)->post(route('docs.store-page', $category), [ 'title' => 'New Page', 'slug' => 'new-page', 'content' => 'Page content', ]); $response->assertRedirect(); $this->assertDatabaseHas('doc_pages', ['slug' => 'new-page', 'category_id' => $category->id]); } }