Enviando uma URL de referência para controladores ao testar no Laravel

Para algumas fun√ß√Ķes de redirecionamento no Laravel, como Redirect::back(), uma URL deve ser passada em seus cabe√ßalhos para que o framework saiba para qual URL redirecionar. Ao testar rotas que redirecionam apenas para o URL anterior, isso pode ser confuso, pois n√£o existe um URL anterior. Deve ser enviado manualmente.

Ao usar a $this->call()fun√ß√£o em seus testes, voc√™ pode fornecer mais argumentos do que apenas o m√©todo e o URL. Os documentos do Laravel explicam esta fun√ß√£o com alguns detalhes. Devemos enviar uma matriz de cabe√ßalhos onde os documentos designam o $serverpar√Ęmetro. Para enviar um URL, voc√™ deve passar um HTTP_REFERERassim:

$this->call('GET', '/event/rsvp?event_id=1', [], [], ['HTTP_REFERER' => 'http://alexsears.com']);

Isso acertar√° o URL em /event/rsvp?event_id=1. Nessa rota, Redirect::back()costumo voltar √† URL anterior, que enviei para a rota como meu quinto par√Ęmetro. Ele ir√° redirecionar de volta para o meu blog . √Č simples!