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

Тест от пользователя в Livewire

Давайте теперь посмотрим на стол поста, где в шаблоне виден номер вошедшего человека. Без входа компонент получает пустое значение, а тест по умолчанию никого не авторизует.

Метод actingAs у базового теста подставляет пользователя в сессию перед запуском компонента. Дальше функция auth в коде компонента видит того же человека, что и на живой странице.

Давайте создадим компонент PostDesk, который читает номер из auth:

php artisan make:livewire PostDesk --class php artisan make:test PostDeskTest
<?php namespace App\Livewire; use Livewire\Component; class PostDesk extends Component { public function render() { $userId = auth()->id(); return view( 'livewire.post-desk', compact('userId') ); } } ?>

Давайте выведем номер в шаблоне:

<div>{{ $userId }}</div>

Давайте в тесте создадим пользователя, войдём от его имени и проверим текст на странице:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Livewire\PostDesk; use Livewire\Livewire; class PostDeskTest extends TestCase { public function test_desk_shows_user_id(): void { $user = new \App\Models\User; $user->id = 1; $this->actingAs($user); Livewire::test(PostDesk::class) ->assertSee('1'); } } ?>

Создайте компонент EmployeeDesk и тест EmployeeDeskTest. Тест видит номер вошедшего работника.

←
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить