assertOk
Метод assertOk класса Testable проверяет,
что ответ компонента Livewire имеет HTTP статус 200.
Этот метод используется в тестах для подтверждения
успешного выполнения запроса к компоненту.
Метод не принимает никаких параметров и возвращает
тот же экземпляр Testable для цепочки вызовов.
Синтаксис
<?php
$component->assertOk();
?>
Пример
Давайте проверим, что компонент успешно загружается и возвращает статус 200:
<?php
namespace App\Livewire;
use Livewire\Component;
class Counter extends Component
{
public $num = 0;
public function render()
{
return view('livewire.counter');
}
}
?>
<div>
<span>{{ $num }}</span>
</div>
<?php
namespace Tests\Feature\Livewire;
use App\Livewire\Counter;
use Livewire\Livewire;
use Tests\TestCase;
class CounterTest extends TestCase
{
public function test_component_returns_ok_status()
{
$component = Livewire::test(Counter::class);
$component->assertOk();
}
}
?>
Результат выполнения кода:
Test passed
Пример
Давайте проверим статус ответа после вызова метода компонента:
<?php
namespace App\Livewire;
use Livewire\Component;
class Counter extends Component
{
public $num = 0;
public function increment()
{
$this->num++;
}
public function render()
{
return view('livewire.counter');
}
}
?>
<div>
<button wire:click="increment">+</button>
<span>{{ $num }}</span>
</div>
<?php
namespace Tests\Feature\Livewire;
use App\Livewire\Counter;
use Livewire\Livewire;
use Tests\TestCase;
class CounterTest extends TestCase
{
public function test_component_returns_ok_after_action()
{
$component = Livewire::test(Counter::class)
->call('increment')
->assertOk();
}
}
?>
Результат выполнения кода:
Test passed
Пример
Давайте используем assertOk в комбинации
с другими проверками:
<?php
namespace App\Livewire;
use Livewire\Component;
class UserProfile extends Component
{
public $name = 'John';
public function render()
{
return view('livewire.user-profile');
}
}
?>
<div>
<h1>Profile</h1>
<p>Name: {{ $name }}</p>
</div>
<?php
namespace Tests\Feature\Livewire;
use App\Livewire\UserProfile;
use Livewire\Livewire;
use Tests\TestCase;
class UserProfileTest extends TestCase
{
public function test_profile_component()
{
$component = Livewire::test(UserProfile::class);
$component
->assertOk()
->assertSee('John')
->assertSet('name', 'John');
}
}
?>
Результат выполнения кода:
Test passed
Смотрите также
-
метод
assertStatus,
который проверяет конкретный HTTP статус ответа -
метод
assertSee,
который проверяет наличие текста в ответе компонента -
метод
assertSet,
который проверяет значение свойства компонента -
метод
test,
который запускает тестирование компонента Livewire