Задание свойства в Livewire
Давайте теперь представим форму с полем заголовка: чтобы проверить, что компонент принимает текст, приходится каждый раз открывать страницу и набирать строку вручную.
Метод set в цепочке теста
записывает значение в
публичное свойство так,
будто его только что
передали с wire:model.
Сразу после этого метод
assertSet сверяет свойство
с ожидаемым значением.
Давайте создадим компонент
PostTitle с полем
заголовка:
php artisan make:livewire PostTitle --class
php artisan make:test PostTitleTest
<?php
namespace App\Livewire;
use Livewire\Component;
class PostTitle extends Component
{
public $title = '';
public function render()
{
return view('livewire.post-title');
}
}
?>
Давайте напишем тест, который задаёт заголовок и сверяет свойство:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use App\Livewire\PostTitle;
use Livewire\Livewire;
class PostTitleTest extends TestCase
{
public function test_title_can_be_set(): void
{
Livewire::test(PostTitle::class)
->set('title', 'News')
->assertSet('title', 'News');
}
}
?>
Создайте компонент
EmployeeTitle и тест
EmployeeTitleTest.
После задания имя
работника равно Ann.