assertDontSee
Метод assertDontSee класса Testable проверяет,
что указанный текст отсутствует в HTML-коде,
который возвращает компонент Livewire.
Он полезен для проверки того, что определённые данные,
сообщения или элементы управления не отображаются пользователю.
Метод принимает первым аргументом строку текста, а вторым -
булево значение для экранирования (по умолчанию true).
Синтаксис
<?php
$component->assertDontSee('text');
?>
Пример
Давайте проверим, что в компоненте нет текста 'admin':
<?php
namespace AppLivewire;
use LivewireComponent;
class UserProfile extends Component
{
public $role = 'user';
public function render()
{
return view('livewire.user-profile');
}
}
?>
<div>
<h1>User Profile</h1>
<p>Role: {{ $role }}</p>
</div>
<?php
namespace TestsFeatureLivewire;
use LivewireLivewire;
use TestsTestCase;
class UserProfileTest extends TestCase
{
public function test_admin_text_not_visible()
{
$component = Livewire::test(AppLivewireUserProfile::class);
$component->assertDontSee('admin');
}
}
?>
Результат выполнения теста:
OK (1 test, 1 assertion)
Пример
Проверим отсутствие текста с экранированием HTML-символов:
<?php
namespace AppLivewire;
use LivewireComponent;
class Product extends Component
{
public $description = '<b>Discount</b>';
public function render()
{
return view('livewire.product');
}
}
?>
<div>
<h1>Product</h1>
<p>{!! $description !!}</p>
</div>
<?php
namespace TestsFeatureLivewire;
use LivewireLivewire;
use TestsTestCase;
class ProductTest extends TestCase
{
public function test_description_without_discount()
{
$component = Livewire::test(AppLivewireProduct::class);
$component->assertDontSee('<b>Discount</b>');
}
}
?>
Результат выполнения теста:
OK (1 test, 1 assertion)
При экранировании (второй параметр true) метод ищет
закодированную версию строки.