РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
271 of 274 menu

Метод assertStatus класса Testable

Метод assertStatus проверяет, что HTTP-статус ответа компонента равен ожидаемому значению. Он принимает один параметр - целочисленный код статуса. Если фактический статус не совпадает с ожидаемым, тест проваливается.

Синтаксис

$component->assertStatus($status);

Пример

Проверим, что компонент возвращает статус 200 (успешный ответ):

<?php namespace Tests\Unit\Livewire; use Livewire\Livewire; use Tests\TestCase; use App\Livewire\Post; class PostTest extends TestCase { public function test_post_component_returns_ok_status() { $component = Livewire::test(Post::class); $component->assertStatus(200); } } ?>

Пример

Проверим статус 404 для несуществующего ресурса:

<?php namespace App\Livewire; use Livewire\Component; use App\Models\Post as PostModel; use Illuminate\Http\Response; class Post extends Component { public $postId; public function mount($id = null) { $this->postId = $id; if (!PostModel::find($id)) { abort(Response::HTTP_NOT_FOUND); } } public function render() { return view('livewire.post'); } } ?>
<?php namespace Tests\Unit\Livewire; use Livewire\Livewire; use Tests\TestCase; use App\Livewire\Post; class PostTest extends TestCase { public function test_post_component_returns_404_for_invalid_id() { $component = Livewire::test(Post::class, ['id' => 999]); $component->assertStatus(404); } } ?>

Пример

Проверим статус 403 при отсутствии прав доступа:

<?php namespace App\Livewire\Admin; use Livewire\Component; use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; class Dashboard extends Component { public function mount() { if (!Auth::user() || !Auth::user()->isAdmin()) { abort(Response::HTTP_FORBIDDEN); } } public function render() { return view('livewire.admin.dashboard'); } } ?>
<?php namespace Tests\Unit\Livewire\Admin; use Livewire\Livewire; use Tests\TestCase; use App\Livewire\Admin\Dashboard; use App\Models\User; class DashboardTest extends TestCase { public function test_dashboard_returns_403_for_non_admin() { $user = User::factory()->create(['is_admin' => false]); $this->actingAs($user); $component = Livewire::test(Dashboard::class); $component->assertStatus(403); } } ?>

Смотрите также

  • метод assertOk,
    который проверяет успешный статус 200
  • метод assertRedirect,
    который проверяет редирект
  • метод assertNoRedirect,
    который проверяет отсутствие редиректа
  • метод assertViewIs,
    который проверяет используемый шаблон
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить