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

assertHasNoErrors

Метод assertHasNoErrors класса Testable проверяет, что в компоненте Livewire отсутствуют ошибки валидации. Он используется в тестах для подтверждения того, что переданные данные прошли валидацию успешно. Метод может принимать массив ключей, по которым нужно проверить отсутствие ошибок.

Синтаксис

$component->assertHasNoErrors($keys = []);

Метод возвращает экземпляр Testable для цепочки вызовов.

Пример

Давайте проверим, что после успешного обновления свойства $num ошибок валидации нет:

<?php namespace AppLivewire; use LivewireComponent; class Counter extends Component { public $num = 0; protected $rules = [ 'num' => 'required|integer|min:0', ]; public function increment() { $this->num++; $this->validate(); } public function render() { return view('livewire.counter'); } } ?>
<?php namespace TestsUnit; use TestsTestCase; use LivewireLivewire; use AppLivewireCounter; class CounterTest extends TestCase { public function test_increment_without_errors() { $component = Livewire::test(Counter::class); $component->call('increment'); $component->assertHasNoErrors(); } } ?>

Пример

Проверим отсутствие ошибок по конкретному полю:

<?php namespace AppLivewire; use LivewireComponent; class UserForm extends Component { public $name = ''; protected $rules = [ 'name' => 'required|min:3', ]; public function save() { $this->validate(); } public function render() { return view('livewire.user-form'); } } ?>
<?php namespace TestsUnit; use TestsTestCase; use LivewireLivewire; use AppLivewireUserForm; class UserFormTest extends TestCase { public function test_valid_name_has_no_errors() { $component = Livewire::test(UserForm::class) ->set('name', 'John'); $component->call('save'); $component->assertHasNoErrors(['name']); } } ?>

Результат выполнения теста:

OK (1 test, 3 assertions)

Пример

Проверим отсутствие ошибок после успешной валидации нескольких полей:

<?php namespace AppLivewire; use LivewireComponent; class Registration extends Component { public $email = ''; public $password = ''; protected $rules = [ 'email' => 'required|email', 'password' => 'required|min:8', ]; public function register() { $this->validate(); } public function render() { return view('livewire.registration'); } } ?>
<?php namespace TestsUnit; use TestsTestCase; use LivewireLivewire; use AppLivewireRegistration; class RegistrationTest extends TestCase { public function test_valid_registration_has_no_errors() { $component = Livewire::test(Registration::class) ->set('email', 'test@example.com') ->set('password', 'password123'); $component->call('register'); $component->assertHasNoErrors(['email', 'password']); } } ?>

Результат выполнения теста:

OK (1 test, 4 assertions)

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

  • метод assertHasErrors,
    который проверяет наличие ошибок валидации
  • метод assertSet,
    который проверяет значение свойства компонента
  • метод call,
    который вызывает метод компонента в тесте
  • метод Livewire::test,
    который создает экземпляр тестируемого компонента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить