Как подождать перезагрузки страницы при тестировании интеграции Laravel

У нас есть действие для редактирования профиля пользователя, который перенаправляется на ту же страницу. Здесь seePageIs (), похоже, не ждет загрузки новой страницы.

Следующий тест не выполняется, поскольку новое имя пользователя не найдено в ответе. Когда мы загружаем страницу профиля вручную после теста, она была правильно обновлена.

public function testCanEditUserProfileAsConsumer() { $this->loginConsumer(); $this->visit('/user/profile'); $firstName = $this->faker->firstname; $name = $this->faker->name; $this->within('#userEditForm', function() use ($firstName, $name) { $this->type($firstName, 'firstname'); $this->type($name, 'surname'); $this->press('Speichern'); }); // here: how to wait for page reload ? $this->seePageIs('/user/profile'); $this->see($firstName); $this->see($name); } 

редактировать

  $this->within('#userEditForm', function() use ($firstName, $lastname) { $this->type($firstName, 'firstname'); $this->type($lastname, 'surname'); $this->press('Speichern') ->seePageIs('/user/profile') ->see($firstName) ->see($lastname); }); 

также не работает

Solutions Collecting From Web of "Как подождать перезагрузки страницы при тестировании интеграции Laravel"

Проблема была другая. Laravel перезагружает страницу при нажатии кнопки.

В представлении профиля пользователя мы используем Auth::user() для отображения информации.

Когда я делаю

  Auth::setUser(Auth::user()->fresh()); 

в пользовательском контроллере он работает.

Не очень удовлетворительное решение – но это делает оригинальный вопрос понятным.