Метод assertNotSet
Метод assertNotSet класса Testable проверяет,
что свойство компонента Livewire не равно определённому значению.
Этот метод полезен для тестирования, когда нужно убедиться,
что свойство изменилось корректно или не изменилось ошибочно.
Метод принимает два параметра: имя свойства и значение,
которое не должно быть установлено.
Синтаксис
<?php
$component->assertNotSet('property', $value);
?>
Пример
Проверим, что свойство $num не равно 10
после вызова метода:
<?php
namespace AppLivewire;
use LivewireComponent;
class Counter extends Component
{
public $num = 0;
public function increment()
{
$this->num++;
}
public function render()
{
return view('livewire.counter');
}
}
?>
<?php
namespace TestsUnit;
use TestsTestCase;
use AppLivewireCounter;
use LivewireLivewire;
class CounterTest extends TestCase
{
public function test_num_not_set()
{
$component = Livewire::test(Counter::class);
$component->call('increment');
$component->assertNotSet('num', 10);
}
}
?>
Результат выполнения кода:
// Тест пройден, так как $num = 1, а не 10
Пример
Проверим, что свойство $text не равно строке 'article'
после нескольких изменений:
<?php
namespace AppLivewire;
use LivewireComponent;
class TextEditor extends Component
{
public $text = 'default';
public function setText($newText)
{
$this->text = $newText;
}
public function render()
{
return view('livewire.text-editor');
}
}
?>
<?php
namespace TestsUnit;
use TestsTestCase;
use AppLivewireTextEditor;
use LivewireLivewire;
class TextEditorTest extends TestCase
{
public function test_text_not_set()
{
$component = Livewire::test(TextEditor::class);
$component->call('setText', 'user');
$component->assertNotSet('text', 'article');
$component->call('setText', 'category');
$component->assertNotSet('text', 'article');
}
}
?>
Результат выполнения кода:
// Тест пройден, так как $text = 'category', а не 'article'
Пример
Проверим, что массив $arr не содержит элемент 5:
<?php
namespace AppLivewire;
use LivewireComponent;
class ArrayManager extends Component
{
public $arr = [1, 2, 3, 4];
public function addElement($element)
{
$this->arr[] = $element;
}
public function render()
{
return view('livewire.array-manager');
}
}
?>
<?php
namespace TestsUnit;
use TestsTestCase;
use AppLivewireArrayManager;
use LivewireLivewire;
class ArrayManagerTest extends TestCase
{
public function test_array_not_contains_five()
{
$component = Livewire::test(ArrayManager::class);
$component->call('addElement', 6);
$component->call('addElement', 7);
$component->assertNotSet('arr', [1, 2, 3, 4, 5]);
}
}
?>
Результат выполнения кода:
// Тест пройден, так как массив не содержит 5